Sie sind auf Seite 1von 84

AUTOMATA PROGRAMABLE S7-300 Instrucciones avanzadas

Conceptos bsicos Nivel 1. 09. Programacin estructurada por bloques. 10. Operaciones de clculo, bsicas y avanzadas. 11. Operaciones de incrementar y decrementar. 12. Parametrizacin de bloques FBs y FCs. 13. Direccionamiento indirecto. 14. Bloques de datos DBs. 15. Programacin de registros del sistema. 16. Tratamiento de seales analgicas. 17. Utilizacin de bloques estndar de las libreras. 18. Desplazamientos y rotaciones. 19. Mdulos de organizacin. Procesamiento de alarmas.

IES SEP COMTE DE RIUS DE TARRAGONA

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

PRLOGO Esta documentacin forma parte de una serie de manuales que un grupo de profesores de tres institutos de educacin 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 temtica de la automatizacin, el control y las comunicaciones industriales. Este equipo de profesores, formaron un grupo de trabajo, llamado EDCAI (Experimentacin y Documentacin en Control y Automatizacin Industrial), reconocido tanto por el Departament dEducaci de la Generalitat de Catalunya como por la empresa Siemens, con unos objetivos tan sencillos como claros y que se basaban en la realizacin de documentacin realizada por profesores/as para profesores/as, y que adems, pudiese servir como manual para los alumnos, esto quiere decir que se ha intentado realizar una documentacin que sea fcil 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 contina trabajando en cada uno de los temas para poder ir actualizando da a da esta documentacin, es por ello, que nos podis enviar vuestras sugerencias a travs de la informacin 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 dedicacin 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 Pgina: 1/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

INDICE:
CONCEPTOS BSICOS NIVEL 1 1 SISTEMAS DE NUMERACION......................................................................................................... 2 MDULOS DE ORGANIZACIN...................................................................................................... 3 BLOQUES DE FUNCIN ................................................................................................................. 4 MDULOS DE DATOS.................................................................................................................... 5 ACUMULADORES............................................................................................................................ E6.1. FUNCION MOVER (TRANSFERENCIA). ..................................................................................... E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA)................................................ E7.1. PRESELECCIN VARIABLE Y VISUALIZACIN DEL VALOR DE UN TEMPORIZADOR........ E7.2. PROGRAMACIN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES................. E8.1. PRESELECCIN VARIABLE DEL VALOR DE UN CONTADOR. .............................................. E8.2. INSTRUCCIONES DE COMPARACIN...................................................................................... 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. PROGRAMACIN ESTRUCTURADA POR BLOQUES. E9.1. SELECCIN DE DOS TIPOS DE FUNCIONAMIENTO 26

10. OPERACIONES DE CLCULO BSICAS Y AVANZADAS. E10.1. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS.................................. E10.2. PROGRAMACIN DE UN TEMPORIZADOR CON PRESELECCIN VARIABLE. BASE DE TIEMPOS FIJA................................................................................................................... E10.3. OPERACIONES ARTIMETICAS CON NMEROS ENTEROS (COMA FIJA)................................ E10.4. CREACIN DE UN CONTADOR REVERSIBLE CON PRESELECCIN....................................... E10.5. CREACIN DE UN CONTADOR DE TIEMPOS............................................................................. E10.6. OPERACIONES ARTIMETICAS CON NMEROS EN COMA FLOTANTE....................................

27 29 30 32 33 35

11. OPERACIONES DE INCREMENTAR Y DECREMENTAR. E11.1. DIFERENTES MTODOS DE INCREMENTAR Y DECREMENTAR . 37

12. PARAMETRIZACIN DE BLOQUES FBs Y FCs. E12.1. CREACIN DE LA PLANTILLA DE UN GENERADOR DE IMPULSOS STANDARD................. E12.2. CREACIN DE UNA PLANTILLA CON NMEROS 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. PROGRAMACIN 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 Pgina: 2/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

16. TRATAMIENTO DE SEALES ANALGICAS. 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. UTILIZACIN DE BLOQUES ESTNDAR DE LIBRERAS. E17.1. GRABACIN DE UNA TABLA EN UN BLOQUES DE DATOS. FUNCIN ATT.......................... E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO....................................... E17.3. GRABACIN DE UNA TABLA DE DATOS (II). SOBREESCRIBIR DATOS................................. E17.4. GRABACIN DE UNA TABLA DE DATOS (III). BORRADO DE DATOS. FUNCIN 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. MDULOS DE ORGANIZACIN. PROCESAMIENTO DE ALARMAS. E19.1. PROGRAMACIN DEL OB10....................................................................................................... E19.2. PROGRAMACIN DEL OB20....................................................................................................... E19.3. PROGRAMACIN DEL OB35....................................................................................................... E19.4. PROGRAMACIN DEL OB121.....................................................................................................

70 72 73 74

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 3/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

1. SISTEMAS DE NUMERACION.
SISTEMA DECIMAL En un sistema decimal, nos encontramos que cada dgito puede tener los siguientes valores: 0123456789 Calculo del valor decimal: -Tenemos por ejemplo el valor 7632 Su valor decimal ser: 3 7x10

2 1 0 + 6x10 + 3x10 + 2x10

7x1000 + 6x100

+ 3x10

+2 = 7632

SISTEMA BINARIO En un sistema binario, nos encontramos que cada dgito puede tener los siguientes valores: 0 y 1 Un nmero binario se puede leer en decimal y hexadecimal Calculo del valor decimal sin signo de un nmero binario: -Tenemos por ejemplo el nmero binario 101101 Su valor decimal ser: 3 5 1x2 + 4 0x2 + 3 2 1 1x2 + 1x2 + 0x2 + 0 1x2

32 +

0 +

8 +

1 + = 45

El nmero binario 101101 equivale al nmero decimal 45

Calculo del valor decimal con signo de un nmero binario: -Tenemos por ejemplo el nmero 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, 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, sino ser positivo. Si trabajramos con una palabra, el bit mas alto o sea el bit 15 seria el que determinara el signo si el bit 15 es igual a 1 el signo es negativo, sino ser positivo.

128 +

0 +

32 +

0 +

8 +

1 + = 173

El valor real ser -1 (valor de bit 7) * 256 + 173 = - 83 El nmero binario 10101101 equivale al nmero decimal con signo - 83
Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 4/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Calculo del valor binario de un nmero decimal: -Tenemos por ejemplo el nmero 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 nmero decimal 13 equivale al nmero binario 1 1 0 1 El nmero binario 101101 equivale al nmero decimal 45

SISTEMA HEXADECIMAL En un sistema hexadecimal, nos encontramos que cada dgito 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 nmero hexadecimal: -Tenemos por ejemplo el nmero hexadecimal 3 A 7 Su valor decimal ser: 3 2 3 x 16 + 1 A(10) x 16 + 0 7 x 16

768 +

160 +

= 935

El nmero hexadecimal

3 A 7 equivale al nmero decimal 935

Calculo del valor hexadecimal de un nmero decimal: -Tenemos por ejemplo el nmero 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. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 5/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

El nmero decimal 3512 equivale al nmero hexadecimal

D18

Calculo del valor hexadecimal de un nmero binario: -Tenemos por ejemplo el nmero binario 1101 0110 0011 1001 Su valor hexadecimal ser: 3 1101 13(D) 0110 6 0011 3 1001 9

El nmero binario 1101 0110 0011 1001 equivale al nmero hexadecimal D 6 3 9 Calculo del valor binario de un nmero hexadecimal: -Tenemos por ejemplo el nmero hexadecimal E57A Su valor binario ser: 3 E 5 7 1110 0101 0111

A 1010

El nmero binario hexadecimal E57A equivale al nmero binario 1110 0101 0111 1010 CODIGO BCD En un cdigo BCD, nos encontramos con lo que se llama binario codificado decimal. Ese binario se puede leer en decimal Calculo del valor decimal de un nmero binario: -Tenemos por ejemplo el nmero binario 1001 0110 *si lo tomamos como nmero binario, 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 nmero BCD, su valor decimal es: 96

10 0 1 9

0110 6

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 6/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

2. MDULOS DE ORGANIZACIN. Caractersticas de los mdulos OB. OB1 Es un mdulo que se ejecuta cclicamente El OB1 se ejecuta en cada scan. Es el que tiene la prioridad ms baja

OB10 a OB17 Realiza una interrupcin horaria. Empieza en un momento programado Se ejecuta a partir de ese momento cada cierto tiempo: Una sola vez, cada minuto, cada hora, cada da, cada semana, cada mes, cada ao, a final de mes

OB20 a OB23 Realiza una interrupcin de retardo. Se ejecuta Al cabo de un tiempo de llamar al OB.

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 lmites mximos o mnimos admisibles . (entradas analgicas, contadores de alta velocidad etc...)

OB80 a OB87 Error Asncrono. OB80Error de tiempo (Tiempo de ciclo excedido). Si no esta programado y detecta el error, el PLC pasa a STOP OB81 Fallo de alimentacin (S7-400) o Fallo de batera OB82 Rotura de hilo de un mdulo que tenga capacidad de diagnostico. Si no esta programado y detecta el error, el PLC pasa a STOP OB83 Deteccin de presencia de mdulo (Extraer/insertar). Si no esta programado y detecta el error, el PLC pasa a STOP OB84 Avera de la CPU. Error de la inteface MPI o de la periferia descentralizada. Si no esta programado y detecta el error, el PLC pasa a STOP
Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 7/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

OB85Evento de arranque para un OB no cargado. Si no esta programado y detecta el error, el PLC pasa a STOP. OB86Deteccin de fallo en un bastidor. Si no esta programado y detecta el error, el PLC pasa a STOP. OB87Deteccin de fallo en comunicacin.

OB100 a 0B102 OBS de modo de arranque (solo puede estar activado uno de ellos). Se selecciona en Administrador- Hardware--- CPU (picar dos veces) pestaa arranque. OB100 Rearranque completo. (Arranque en Caliente) Mantiene el estado de los elementos que tenga con memoria. Se ejecuta al pasar la CPU de STOP a RUN. Primero lee el OB100 y despus el OB1 (empezando por la primera instruccin). Rearranque. (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 OB101 y despus sigue leyendo en el punto donde dejo de leer al pasar al estado STOP. Arranque en fro Pone todos los elementos a 0 (incluso los que tienen memoria). Se ejecuta al pasar la CPU de STOP a RUN. Primero lee el OB102 y despus el OB1 (empezando por la primera instruccin).

OB101

OB102

OB121 y OB122 OBs de error OB121 Error de ejecucin de programa. Detecta errores de programacin. Si no esta programado y detecta el error, el PLC pasa a STOP. Error al intentar acceder a un mdulo de datos (entradas, salidas, etc...) . Si no esta programado y detecta el error, el PLC pasa a STOP.

OB122

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 8/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

3. BLOQUES DE FUNCIN. Las Funciones, son mdulos que se ejecutan al ser llamados desde otros mdulos. Cuando se les llama, la funcin acta como una subrutina del programa. Cuando termina de ejecutar el mdulo, el programa retorna al mdulo desde donde fue llamado, en la instruccin posterior al salto. Hay dos tipos de funciones: Funciones sin parmetros. Funciones parametrizables (Plantillas). MDULOS DE BLOQUE DE FUNCIN Un mdulo de bloque de funcin tiene un mdulo adicional de memoria asociado a el (Mdulo de datos). En el mdulo de datos (DB) se mantiene una copia de los parmetros que van al rea de datos locales. Despus de la ejecucin del FB, se borra el rea de memoria local, pero el DB asociado, mantiene los valores.

OB1 PROGRAMA CALL FB1, DB10 PROGRAMA

DB10 Copia de la parte de declaracin local del FB1

FB1 Area de declaracin local PROGRAMA

Tipo de declaracin dentro de un mdulo: IN Parmetros de entrada de los que se lee. OUT Parmetros de salida en los que se puede escribir. IN_OUT Parmetros que pueden ser ledos o escritos. STAT Variable local cuyo valor se almacena en un DB de instancia. TEMP Variable temporal cuyo valor no se guarda cuando el termina. Todos los valores de la declaracin local, menos los temporales, se almacenan en un bloque de datos (DB de Instancia).

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 9/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

4 MDULOS DE DATOS. Los mdulos de datos, son reas de memoria de la CPU que se utilizan para almacenar datos. Los DB mantienen su valor ante un corte de tensin, siempre que tengamos la pila tampn de respaldo. En caso de no tener pila, solo mantendrn su valor los DB configurados en el rea de elementos remanentes de la CPU. En las CPUs actuales que van con Memory Card, mantienen la memoria todos los DBs Hay dos tipos de mdulos de datos: -Mdulos de datos globales Los mdulos de datos globales, pueden ser utilizados por todos los mdulos del programa. Todos los FB, FC y OB pueden leer o escribir datos en los DB globales. Para grabar o leer datos, antes hay que abrir el mdulo OPN DB (en KOP) o AUF DB (en AWL). Los datos permanecen almacenados en el DB aunque se cierre el DB.

-Mdulos de datos de instancia: Un DB de instancia, esta asociado a un mdulo de funcin especifico (FB) Los datos almacenados en el DB de instancia solo pueden ser ledos o escritos por el mdulo asociado a el. UN DB de instancia no necesita abrirse con ninguna instruccin, se abre se lee y se escribe en el de forma automtica. Al empezar a leer el bloque de funcin, se carga del DB una copia de las variables locales en el bloque de funcin, se ejecuta el bloque y cuando acaba, deposita el valor actual de las variables locales en el DB de instancia.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 10/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

5. ACUMULADORES. Los acumuladores son registros auxiliares en la CPU que se utilizan para el intercambio de datos, operaciones de comparacin y operaciones aritmticas. El S7-300 tiene dos acumuladores de 32 bits y el S7-400 tiene cuatro. Carga: (L) La operacin de carga, siempre va al ACCU1 (las posiciones no utilizadas se ponen a 0), o sea si cargo un Byte, los 24 bits restantes se ponen a 0. El registro que antes de la carga estaba en el ACCU1, se desplaza al ACCU2. Transferencia:(T) La operacin de transferencia solo transfiere el valor que haya en ACCU1 y el ACCU1 queda invariable. (Copia el valor del ACCU1 en un registro). Manipulacin de los acumuladores (AWL) TAK: Intercambia el contenido del ACCU1 con el del ACCU2. PUSH : Desplaza el contenido del ACCU1 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. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 11/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E6.1. FUNCION MOVER (TRANSFERENCIA). -La funcin MOVE es ejecutada cuando tenemos un 1 en la entrada EN, entonces el valor que hay en IN es copiado en OUT. (El valor en IN permanece inalterable). -En ENO tendremos un 1 si la funcin se ejecuta sin errores. -Si tenemos un 0 en la entrada EN la funcin no se ejecuta (es saltada). Los formatos en IN y en OUT pueden ser de 8 ,16 y 32 bits. (Los formatos en IN y en OUT pueden ser diferentes. E126.0=0 1011100111001010 EW124

0000000000000000

AW124

E126.0=1

1011100111001010

EW124

1 011100111001010

AW124

FC1
E126.0 EN MOVE ENO

EW124 IN

OUT AW124

Programacin en AWL U E 126.0 SPBNB _001 L EW 124 T AW 124 NOP 0

_001:

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 12/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA). -En este caso queremos enviar diferentes constantes a una misma palabra. -PAW752 es una salida analgica que trabajara entre valores 0 y 27648. Con esos valores, dar una seal exterior de tensin 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. -En este caso tengo seis pulsadores del E124.0 al E124.5. Accionando los pulsadores en orden ascendente queremos que la salida analgica nos de valores de 0, 2, 4, 6, 8 y 10 voltios. -Cuando accione la entrada E124.6, un potencimetro que dar de 0 a 10 V a la entrada analgica PEW752 enviara su valor a la salida analgica PAW752. Haciendo una regla de 3, 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.0 1 EN MOVE ENO

0 IN

OUT PAW752

E124.1 2 EN

MOVE ENO

5529 IN

OUT PAW752

E124.2 3 EN

MOVE ENO

11058 IN

OUT PAW752

E124.3 4 EN

MOVE ENO

16578 IN

OUT PAW752

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 13/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E124.4 5 EN

MOVE ENO

22118 IN

OUT PAW752

E124.5 6 EN

MOVE ENO

27648 IN E124.6 6 EN MOVE

OUT PAW752

ENO

PEW752 IN

OUT PAW752

Nota: Probar que ocurre cuando acciono dos pulsadores al mismo tiempo. -Indicar que solucin puedo tomar para que el ultimo valor activo sea el efectivo. -Una vez probado el ejercicio, calcular los valores que tendramos que enviar para tener 1, 3, 5, 7 y 9 voltios de salida en PAW752.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 14/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E7.1. PRESELECCIN VARIABLE Y VISUALIZACIN DEL VALOR DE UN TEMPORIZADOR. -Realizaremos la preseleccin de un temporizador con un valor variable. Cada vez que accionemos el E124.0, el temporizador coger como preseleccin el valor que tenga en ese momento el MW0. El valor de MW0, debe estar en BCD o en tiempo Simatic, en caso contrario el temporizador no lo entender y el PLC en caso de no estar programado el OB121, se ira a STOP. MW0 MB1 0010 0011 1001 0101 = Base T. Centenas Decenas Unidades La base de tiempos es: 3 2 1 0 Valor Valor Valor Valor MB0 W#16#2395

X 10 seg. X 1 seg. X 01 seg. X 001 seg. 1 Segundo x 395 = 395 segundos

En nuestro caso, Base Tiempos = 2

-Una vez se haya activado el temporizador, aunque cambie el valor de MW0, el temporizador seguir trabajando con el valor que tenia al ponerse en marcha. -Para cargar el valor del temporizador, lo podremos ver en BCD (MW4) o en Binario (MW2). -El valor cargado en BCD, contiene el valor y la base de tiempos. No obstante el MW4 lo podemos visualizar en BCD (formato hexadecimal) o en tiempo Simatic. FC3
E124.0 1 MW0 S TW T1 S_EVERZ Q DUAL MW2 A124.0

DEZ

MW4

Nota: Cuando se coloca un tiempo en formato S5T (Tiempo Simatic), ajusta automticamente el valor a 3 dgitos y adapta la base de tiempos. Forzar valores en el MW0 (Hexadecimal) con diferentes bases de tiempos en el digito 3 y diferentes valores en los dgitos 0 al 2 y comprobar que tiempo Simatic coge.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 15/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E7.2. PROGRAMACIN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES. -Tenemos un proceso de llenado de botes. Hay tres tamaos de botes. Para llenar el bote pequeo, la electro vlvula (A124.0) debe funcionar 3 segundos. Para llenar el bote mediano, la electro vlvula (A124.0) debe funcionar 8 segundos. Para llenar el bote grande, la electro vlvula (A124.0) debe funcionar 15 segundos. Tendremos tres pulsadores que seleccionaran el tipo de bote a llenar. Nota: El tiempo que enviamos a MW0, lo podemos expresar en tiempo Simatic (S5T#15S) o en BCD W#16#1150. Nota: Indica como funcionaria el circuito si el segmento 4 estuviera programado delante del segmento 1. FC4
E124.0 1 EN MOVE ENO

S5T#3S IN

OUT MW0

E124.1 2 EN

MOVE ENO

S5T#8S IN

OUT MW0

E124.2 3 EN

MOVE ENO

S5T#15S IN

OUT MW0

E124.0 4

A124.1

T1

SV
MW0 E124.1

E124.2

T1 5

A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 16/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 17/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E8.1. PRESELECCIN VARIABLE Y VISUALIZACIN DEL VALOR DE UN CONTADOR. CONTROL DE PIEZAS EN UNA CINTA TRANSPORTADORA. -Tenemos una cinta transportadora que llena de piezas una caja. -El operario primero accionara el selector E124.0 y despus pondr en un terminal de operador o en un SCADA un valor al MW0 (preseleccin del nmero de piezas que deseamos controlar en ese proceso). Una vez hecho esto accionara el pulsador E124.1 que cargara el valor de preseleccin, esto provoca que la cinta A124.0 se ponga en marcha al instante. -Hay un detector de piezas E124.7 que cuenta las piezas que pasan. Cuando ha contado las piezas preseleccionadas (el contador llega a 0), se para la cinta y se pone en marcha de forma intermitente la lmpara A124.7. -El operario retira entonces la caja llena, pone una caja vaca y repite el proceso (Pone la nueva preseleccin en MW0 y acciona de nuevo el pulsador E124.1 con lo cual el ciclo comienza de nuevo.

FC5
E124.7 E124.0 Z1

ZR
E124.1 E124.0 Z1

SZ
MW0 Z1 E124.0 A124.0

Z1

M255.5

E124.0

A124.7

A124.0

E124.7 A124.7 E124.0 E124.1


Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 18/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 19/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E8.2. INSTRUCCIONES DE COMPARACIN. -Tenemos tres tipos de comparadores, segn el formato a comparar: Comparacin entre dos nmeros enteros. Formato INT 16 bits. Comparacin entre dos nmeros de dobles enteros. Formato DINT 32 bits. Comparacin entre dos nmeros reales. Formato REAL 32 bits.

-Hay seis tipos de comparadores segn su condicin de comparacin: Segmento 1. Tendremos un 1 en el comparador si IN1 es igual a IN2. Segmento 2. Tendremos un 1 en el comparador si IN1 diferente a IN2. Segmento 3. Tendremos un 1 en el comparador si IN1 es mayor a IN2. Segmento 4. Tendremos un 1 en el comparador si IN1 es menor a IN2. Segmento 5. Tendremos un 1 en el comparador si IN1 es mayor o igual a IN2. Segmento 6. Tendremos un 1 en el comparador si IN1 es menor o igual a IN2.

NOTA: Un comparador, acta como un contacto en el que habr un 1 cuando se cumpla la comparacin. FC6
E124.0 1 MW0 IN1 CMP==I A124.0

AWL

MW2 E124.1 2 MW0

IN2 A124.1 CMP<>I IN1

MW2 E124.2 3 MW0

IN2 A124.2 CMP>I IN1

MW2 E124.3 4 MW0

IN2 A124.3 CMP<I IN1

MW2

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 20/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E124.4 5 MW0 IN1 CMP>=I

A124.4

MW2

IN2

E124.5 6 MW0 IN1 CMP<=I

A124.5

MW2

IN2

Si queremos realizar una comparacin de un Byte o de nmeros en formato hexadecimal, deberemos hacer la comparacin en AWL. Ejemplo: -Queremos que cuando el valor de la EW124 sea igual al valor H2A4D se active la salida A124.7 -Queremos que cuando el valor del EB126 sea igual a 73 se desactive la salida A124.7 Programacin en AWL L EW 124 L W#16#2A4D ==I S A 124.7 L EB 126 L 73 ==I R A 124.7

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 21/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E8.3. CONTROL DE INICIO DE MARCHA DE UN PROCESO. -Para poner en funcionamiento un proceso, se deben de dar ciertas condiciones. Estas son que algunas entradas deben estar a 0 y otras a 1. -Este ejercicio resuelto de forma tradicional, implicara la colocacin de 16 contactos en serie con el elemento a activar. -Resuelto con un comparador, se realizara de la siguiente manera: Estado que deben tener las entradas al poner en marcha el proceso: EB124 .7 .6 .5 .4 .3 .2 .1 .0 1 0 1 0 1 0 0 1 EB125 .7 .6 .5 .4 .3 .2 .1 .0 0 1 1 0 1 1 0 1

EW124

El estado de las entradas en reposo, corresponde al valor decimal EW124= -22163 IMPORTANTE: Si queremos programar el comparador con nmeros en formato hexadecimal, 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.0) se cumplen las condiciones de inicio, se activara la salida A124.0 y al mismo tiempo se activara la salida A124.7 de forma fija. -Accionando el E126.1 se desactivara el proceso. Entradas en estado incorrecto: -Si al accionar el pulsador de marcha (E126.0) NO se cumplen las condiciones de inicio, no se activara la salida A124.0 y al mismo tiempo se activara la salida A124.7 de forma intermitente. FC7
E126.0 1 EW124 IN1 CMP==I A124.0

-22163 E126.1

IN2 A124.0

R
E126.0 2 EW124 IN1 CMP<>I M255.2 A124.7

-22163 A124.0

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 22/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 23/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E8.4. CLAVE PARA ABRIR UNA CERRADURA. -Para poder abrir una cerradura, debo de poner en MW0 el valor 1234. Este valor seria introducido por un terminal de operador o por un SCADA. -Si al accionar el pulsador E124.0 la clave es correcta, funcionara la cerradura A124.0 (segmento 1 ) durante 5 segundos y borraremos la clave correcta de MW0. (segmento 3). -Si nos equivocamos tres veces, se bloqueara la cerradura y funcionara una sirena (A124.7) de forma intermitente hasta que la paremos accionando el pulsador E124.0 habiendo colocando antes en MW0 el valor 9999.(segmento 5). -Programar en el OB100 la carga del valor de preseleccin 3 en el contador 1. -Ejercicio: Hacer el programa necesario para que una vez marque algn fallo demos un tiempo de 15 segundos para abrir la cerradura, en caso de no hacerlo, debe de activarse la alarma. OB100
E0.0 1 Z1

SZ
C#3

FC8
E124.0 1 MW0 IN1 CMP==I Z1 A124.0

1234 A124.0 2

IN2 T1

SE
S5T#5S T1 MOVE EN ENO A124.0

0 IN

OUT MW0

E124.0 4

M2.0

Z1 CMP<>I IN1

P
MW0

ZR

1234

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 24/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E124.0 5 MW0 IN1 CMP==I

Z1

SZ SZ
C#3

9999 A124.0

IN2

Z1 6

M255.3

A124.7

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 25/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E9.1. SELECCIN DE DOS TIPOS DE FUNCIONAMIENTO.

Se trata de programar en dos bloques de programa diferentes el mismo circuito pero con funcionamiento diferente, FC 1 : Circuito de un Paro-Marcha con prioridad del pulsador de paro. FB 1 : Circuito de un Paro-Marcha con prioridad del pulsador de marcha. Y desde el OB1 dependiendo del estado de la entrada E124.0, deber funcionar un tipo u otro de funcionamiento.

Una posible solucin seria:

OB1 UN E124.0 CC FC1 U E124.0 CC FB1

FC1 U E125.0 U( O E125.1 O A124.0 ) UN E125.2 = A124.0

FB1 U E125.1 O( U E125.0 U A124.0 ) UN E125.2 = A124.0

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 26/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E10.1. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS. -Operacin serie entre palabras WAND_W. La funcin WAND__W coge los 16 bits de IN1 y los 16 bits de IN2, realiza la operacin serie (bit a bit) de los bits de la misma posicin (dentro de su palabra) y el resultado lo enva a OUT.

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.0 1 MW0 EN IN1 OUT MW2 IN2 MW4 WAND_W ENO

-Operacin paralelo entre palabras WOR_W. La funcin WOR__W coge los 16 bits de IN1 y los 16 bits de IN2, realiza la operacin paralelo (bit a bit) de los bits de la misma posicin (dentro de su palabra) y el resultado lo enva a OUT.

E124.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.1 2 MW0 EN IN1

WOR_W ENO

OUT MW2 IN2

MW4

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 27/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Operacin OR exclusiva entre palabras WXOR_W. La funcin WXOR__W coge los 16 bits de IN1 y los 16 bits de IN2, realiza la operacin OR exclusiva (bit a bit) de los bits de la misma posicin (dentro de su palabra) y el resultado lo enva a OUT . (tendr un 1 cuando los bits de IN1 e IN2 sean diferentes).

E124.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.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 Pgina: 28/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E10.2. PROGRAMACIN DE UN TEMPORIZADOR CON PRESELECCIN VARIABLE. BASE DE TIEMPOS FIJA. -Tendramos un terminal de operador o un SCADA donde pondramos el valor al MW0. Cuando accionemos el E124.4, el temporizador se activara con MW10 como valor de preseleccin (segundos). -Para lograr esto, primero deberemos de hacer un filtro para que los bits 12 a 15 no afecten a la base de tiempos del temporizador y despus haremos una funcin paralelo para poner la base de tiempos. El registro MW10 debe estar en BCD. En caso de no estar, el PLC se va a STOP. Nota: Si enviamos al PLC el OB121(Detecta errores de programacin) aunque sea vaco y hay un error, el PLC no se ira a STOP aunque indicara con el leed SF que hay un error. FC10
E124.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.4 2 S

T2 S_EVERZ Q

A124.2

MW0

TW

DUAL

DEZ

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 29/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E10.3. OPERACIONES ARTIMETICAS CON NMEROS ENTEROS (COMA FIJA). - (Segmento 1)Suma de nmeros enteros: ADD_I suma los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1+IN2). - (Segmento 2)Resta de nmeros enteros: SUB_I resta los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1-IN2). - (Segmento 3)Multiplicacin de nmeros enteros: MUL_I multiplica los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1*IN2). - (Segmento 4)Divisin de nmeros enteros: DIV_I divide los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1/IN2). -La funcin MOD, recupera el resto de esa divisin (solo en dobles palabras). -En cualquier de estas cuatro operaciones, el resultado ha de estar comprendido dentro de los limites de los nmeros enteros. En caso de no ser as: -Se activa el bit de estado OV (desbordamiento). -El resultado obtenido en OUT NO ser valido. -En ENO tendr un 0. Lmites nmero enteros de 16 bits : -32768 a +32767 Lmites de nmeros 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, indicara que lo hay) en cambio el OV se actualiza en cada operacin. FC11
E124.0 1 EN MW0 IN1 ADD_I ENO OUT MW4

MW2 IN2 OV M255.3 A124.0

E124.1 2 EN MW0 IN1

SUB_I ENO OUT MW4

MW2 IN2 OV M255.3 A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 30/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E124.2 3 EN MW0 IN1

MUL_I ENO OUT MW4

MW2 IN2 OV M255.3 A124.2

E124.3 4 EN MW0 IN1

DIV_I ENO OUT MW4

MW2 IN2 OV M255.3 A124.3

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 31/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E10.4. CREACIN DE UN CONTADOR REVERSIBLE CON PRESELECCIN. -La creacin de este contador con preseleccin tiene algunas ventajas respecto al contador normal. -Con un contador normal (Z1) puedo contar como mximo hasta el valor 999, 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. -Su valor es ms fcil de leer en un sistema SCADA ya que tendremos el valor directamente en decimal. -Si le pongo como preseleccin una variable, esta tambin podr ser un nmero binario y podr poner su valor directamente en decimal. -El registro que recibe el incremento puede ser una palabra de un DB (bloque de datos), con lo cual siempre tendr memoria. Funcionamiento: 1 Segmento, cada vez que accionemos el E124.0 incrementara en 1 el valor del MW0 2 Segmento, cada vez que accionemos el E124.1 decrementara en 1 el valor del MW0 3 Segmento, cuando accionemos el E124.2, el valor del MW0 se pone a 0. 4 Segmento, cuando el valor de MW0 sea igual o superior a 10, se activara la salida A124.4 -Una vez probado, cambiar el valor 10 por el registro MW10 y comprobar que el valor que ponga en MW10 ser a partir de ese momento la preseleccin de ese contador. Ejercicios: -Crear un programa en el que incrementando el valor de un registro sea limitado entre los valores 0 y 10 (despus 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. Cargar el OB100 el valor de 4 (para iniciar). FC12
E124.0 1 M2.0

P
MW0 IN1

ADD_I

ENO

OUT 1 IN2

MW0

E124.1 2

M2.1

P
MW0 IN1

SUB_I

ENO

OUT 1 IN2

MW0

E124.2 3 EN

MOVE ENO

0 IN

OUT MW0 A124.4

4 MW0 IN1

CMP>=I

10 Realizado por:

IN2

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 32/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E10.5. CREACIN DE UN CONTADOR DE TIEMPOS. -Mediante un generador de impulsos y una operacin incremento hemos creado un contador de tiempos. -El MW0 contara los segundos y el MW2 contara las horas de funcionamiento de un motor (A124.0). -Si incluimos un comparador, conseguiremos que cuando el motor lleve por ejemplo 5000 horas nos indique que le debemos hacer un mantenimiento preventivo.

FC13
E124.0 1 A124.0

S
E124.1 A124.0

2 A124.0 3 M255.5 M10.0

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

IN2

0 IN

OUT MW0

E124.2 5 EN

MOVE ENO

0 IN

OUT MW0

MOVE EN ENO

0 IN

OUT MW2

M255.5 6 MW2 IN1 CMP > I

A124.7

5000

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 33/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Para probar el ejercicio, cambiar: -En IN2 del comparador del segmento 4, poner 6. -En IN2 del comparador del segmento 6, poner 10. En este caso, la salida A124.7 se activara cuando el motor lleve 60 segundos de funcionamiento y no 5000 horas.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 34/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E10.6. OPERACIONES ARTIMETICAS CON NMEROS EN COMA FLOTANTE. - (Segmento 1)Suma de nmeros reales: ADD_R suma los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1+IN2). - (Segmento 2)Resta de nmeros reales: SUB_R resta los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1-IN2). - (Segmento 3)Multiplicacin de nmeros reales: MUL_R multiplica los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1*IN2). - (Segmento 4) Divisin de nmeros reales: DIV_R divide los registros que tenga en IN1 e IN2 y enva el resultado a OUT. (OUT= IN1/IN2). - (Segmento 5)Raz cuadrada: SQRT realiza la raz cuadrada de IN y enva el resultado a OUT. - (Segmento 6)Elevar al cuadrado: SQR eleva al cuadrado el valor que hay en IN y enva el resultado a OUT. - (Segmento 7)Valor absoluto de un nmero: ABS toma el valor de IN (sea positivo o negativo) y lo enva a OUT siempre con signo positivo. FC14
E124.0 1 EN MD0 IN1 OUT MD8 MD4 IN2 E124.1 2 EN MD0 IN1 OUT MD8 MD4 IN2 E124.2 3 EN MD0 IN1 OUT MD8 MD4 IN2 E124.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. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 35/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E124.4 5 EN

SQRT ENO

MD0 IN

OUT MD8

E124.5 6 EN

SQR 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 Pgina: 36/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E11.1. DIFERENTES MTODOS DE INCREMENTAR Y DECREMENTAR.

Se trata de realizar un circuito que responda al funcionamiento expresador en la siguiente figura:

Una posible solucin seria: OB1 U E1.0 UN E1.1 CC FB1 UN E1.0 U E1.1 CC FB2 U E1.0 U E1.1 CC FB3 FB1 U E0.0 SPB incr U E0.1 SPB decr BEA incr: L MB20 INC 1 T MB20 BEA decr: L MB20 DEC 1 T MB20 BE FB2 U E0.0 FP M0.0 SPB incr U E0.1 FP M0.1 SPB decr BEA incr: L MB20 INC 1 T MB20 BEA decr: L MB20 DEC 1 FB3 U E0.0 FP M0.0 CC FC1 U FP CC E0.1 M0.1 FC2

FC1 L INC T MB20 1 MB20

FC2 L MB20 DEC 1 T MB20

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 37/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E12.1. CREACIN DE LA PLANTILLA DE UN GENERADOR DE IMPULSOS STANDARD. -Combinando el funcionamiento de dos temporizadores, conseguimos crear un generador de impulsos que standard. -Creamos con ese circuito una plantilla que usaremos cuando nos convenga. -En el primer segmento del OB1 usamos la plantilla con preselecciones variables. Los tiempos en este caso los podramos cambiar desde un terminal de operador o un sistema SCADA. -En el segmento usamos la plantilla con un tiempo fijo de 1 segundo de conexin y 2 segundos de desconexin. Para crear la plantilla, debemos de rellenar la tabla de declaracin de variables y definir estas. Declaracin 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.0

E124.0 2

M10.0

A124.0

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 38/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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.1

E124.1 4

M10.1

A124.0

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 39/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E12.2. CREACIN DE UNA PLANTILLA CON NMEROS REALES. -Queremos hacer una plantilla con la cual podamos calcular el resultado del tanto por ciento de un valor. 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, debemos de rellenar la tabla de declaracin de variables y definir estas. Declaracin 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.1 1 MD0 EN Tanto por Ciento Valor FC16 ENO

Resultado

MD8

MD4

E124.2 2 MD20 EN Tanto por Ciento Valor

FC16 ENO

Resultado

MD28

MD24

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 40/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Nota: Proteger la plantilla para que no se pueda abrir (KNOW_HOW_PROTECT)

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 41/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E13.1. DIRECCIONAMIENTO INDIRECTO DE REGISTROS. -Mediante el direccionamiento indirecto podemos direccionar diferentes mdulos y registros. -Para el direccionamiento de OB, temporizadores o contadores el direccionamiento se har mediante el valor de una palabra. -Para direccionar el valor de un registro, se har con una doble palabra. -El MD0 ha de estar en formato puntero y como direccionamos palabras, el ultimo nmero ha de ser siempre 0 y se expresa P# X. 0 (Donde X indicara el nmero de la palabra a direccionar). L DBW[MD0] T MW10 Si MD0 = P#0.0 L DBW 0 T MW 0 Si MD0 = P#2.0 L DBW 2 T MW 0 Si MD0 = P#4.0 L DBW 4 T MW 0 Si MD0 = P#6.0 L DBW 6 T MW 0 Si MD0 = P#8.0 L DBW 8 T MW 0 ......................................................... ......................................................... Si MD0 = P# X.0 L DBW X T MW 0 Ejercicio 1. -Queremos que unos datos grabados en 20 palabras del DB1 puedan ser movidas al MW10. 1 Para ello crearemos primero el DB1 con los siguientes valores actuales.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 42/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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. 4 Crearemos y editaremos la siguiente tabla de variables. 5 Forzaremos valores en MD0 en formato puntero y comprobaremos el resultado en MW10. 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 ira a STOP.

Ejercicio 2 -Queremos realizar la suma de dos palabras del DB1 y mover el resultado al MW20. 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.
Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 43/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E14.1. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB). -Tenemos un proceso idntico para realizar tres tipos de mezclas de dos productos. -En ese proceso, se hace una mezcla de una cantidad de un material con otra cantidad de otro material durante un tiempo determinado. -La nica diferencia que existe en el proceso, la cantidad del producto A ( va por tiempo de apertura de una vlvula), la cantidad del producto B y el tiempo de mezclado de los dos productos. Al accionar un pulsador se abren las dos electro vlvulas que dan paso a los productos y se pone en marcha el mezclador. Segn van pasando los tiempos, se cierra la vlvula A, se cierra la vlvula B y se para el mezclador. -Pondremos los datos de los tiempos de cada tipo de pieza en un DB diferente. 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) Direccin Nombre 0.0 0.0 Tiempo_P_A 2.0 Tiempo_P_B 4.0 Tiempo_Mezc =6.0 Ir a Ver Ir a Edicin Direccin 0.0 2.0 4.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. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 44/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

FC19
E124.0 1 PEQU
JMPN

DB1 2 OPN

PEQU E124.1 3 MEDI


JMPN

DB2 4 OPN

MEDI

E124.2 5

GRAN
JMPN

DB3 6 OPN

GRAN E124.0 7 E124.1 EN FC20 ENO

E124.2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 45/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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 Pgina: 46/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

T3 5

A124.2

PRODUCTO A

PRODUCTO B

A124.0 A124.2

A124.1

SELECCIN 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 Pgina: 47/84 Fichero: Instrucciones avanzadas Versin: 2.2

E124.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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. -Realizacin del ejercicio anterior utilizando el direccionamiento indirecto. Modificar solo el FC19, el resto de mdulos utilizarlos tal como estn. -En este ejercicio, mediante el E124.0 seleccionaremos el nmero 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 instruccin AUF en AWL es igual a OPN en KOP. AUF DB10 (Esto significa Abre el DB10) -La instruccin 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

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

IN2

CMP==I MW210 IN1

IN2

AUF DB [MW 210]

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 48/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

FC 20 4 EN ENO

NOTA: Si tuviramos el mismo proceso con 20 datos diferentes, crearamos 20 DBs, pondramos esos datos desde el DB1 al DB20 y en el primer comparador del segmento 2 sustituiramos el valor 4 por el valor 21. -Razonar que ocurrira 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 Pgina: 49/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E15.1. PROGRAMACION DEL RELOJ. -La hora y fecha, se pueden cambiar en el editor o en el administrador en Sistema de destino Diagnostico/configuracin ajustar la hora . Cuando se pone la fecha y hora nueva, se valida pulsando Aplicar. Para trabajar con los datos del reloj, se puede hacer de dos formas: -Una de ellas es la de trabajar con funciones especiales SFC. -Otra de las formas, es recuperar los datos del reloj del OB1 Datos del reloj del OB1 Hay un registro temporal en el OB1, el OB1_DATE_TIME donde se carga la fecha y hora actual en la que se esta ejecutando el OB1 (variable 12.0 y la componen 12 bytes) las variables de lectura son del LB12 al LB19. -Si quiero trabajar con el reloj solo en el OB1, puedo trabajar con esas variables temporales. En caso que quiera trabajar en otro mdulo, tendr que cargar esas variables temporales en unos registros (por ejemplo en un DB). Los datos del reloj estn en BCD, por lo tanto deber leerlos en hexadecimal: LB12 LB13 LB14 LB15 LB16 LB17 LB18 LB19 B#16#02 (Ao) B#16#11 (Mes) B#16#23 (Da) B#16#15 (Hora) B#16#47 (Minuto) B#16#34 (Segundos) B#16#68 (Dcimas y Centsimas) B#16#11 (Milsimas, da de la semana) 1 2 3 4 5 6 7 Domingo Lunes Martes Mircoles Jueves Viernes Sbado

Da de la semana

Ejercicio 1 : -En este ejercicio, queremos que a las 5 y 15 de la tarde, se ponga en funcionamiento el riego (A124.0) y que se pare a las 5 y 17 de la tarde. -Programar despus el mismo funcionamiento, pero que solo funcione de lunes a viernes. DB6 Valor inicial B#16#0

Direccin 0.0 +0.0 *2.0 =16.0

Nombre Reloj

Tipo STRUCT ARRAY[1..8] BYTE END_STRUCT

Comentario

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 50/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

OB1 Direccin 0.0 1.0 2.0 ----12.0 Declaracin 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.DBD0

LD16

IN

OUT DB6.DBD4

FC21 2 EN ENO

Al realizar este programa en OB1, los datos del reloj estarn en: DB6.DBB0 (Ao) DB6.DBB1 (Mes) DB6.DBB2 (Da) DB6.DBB3 (Hora) DB6.DBB4 (Minuto) DB6.DBB5 (Segundos) DB6.DBB6 (Dcimas y Centsimas) DB6.DBB7 (Milsimas, da de la semana)

FC21 L DB6.DBW3 L W#16#1715 ==I S A124.0 L DB6.DBW3 L W#16#1830 ==I R A124.0

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 51/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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, debemos filtrar el da de la semana en una palabra o en un byte para poder realizar comparaciones con el. (En este caso lo hemos puesto en MW0) FC22 L DB6.DBW6 L W#16#F UW T MW 0 L MW 0 L B#16# 7 ==I = M10.0 L MW 0 L B#16# 1 ==I = M10.1 L DB6.DBW3 L W#16#1330 ==I S M10.2 L DB6.DBW3 L W#16#1332 ==I R M10.2 U M10.2 UNM 10.0 UNM10.1 = A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 52/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Ejercicio 3 -Creacin de una plantilla para poder realizar la conexin y desconexin de un elemento entre unas horas determinadas. -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, debemos de rellenar la tabla de declaracin de variables y definir estas. FC23 Nombre Tipo HORA_INICIO WORD HORA_FINAL WORD SALIDA BOOL REAL L DB6.DBW3 L #HORA_INICIO == I S #SALIDA L DB6.DBW3 L #HORA_FINAL == I R #SALIDA OB1
MOVE 1 EN ENO EN MOVE ENO

Declaracin In In Out In_out temp

Comentario

LD12 IN

OUT DB6.DBD0

LD16

IN

OUT DB6.DBD4

E124.2 2 MW20 EN

FC23 ENO

HORA_INICIO SALIDA A124.0

MD22

HORA_FINAL

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 53/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA). -Esta funcin la podemos encontrar en: Libreras Standard Library TI-S7 Converting Blocks

FC105

-La funcin SCALE sirve para escalar el valor de una entrada analgica entre dos valores (mximo y mnimo). Tambin podramos escalar cualquier otro registro que no sea una entrada analgica. Parmetros: EN Cuando tengamos un 1 se ejecuta la funcin. Si hay un 0, la funcin es saltada (no se ejecuta). IN Valor de entrada (nmero de entrada analgica). Formato entero 16 bits INT. HI_LIM Valor mximo deseado de salida (OUT). Nmero REAL, doble palabra o constante. LOW_LIM Valor mnimo deseado de salida (OUT). Nmero REAL, doble palabra o constante. BIPOLAR Si vale 0 (trabajamos con valores entre 0 y 27648). Entrada analgica de 0 a 10 V. Si vale 1 (trabajamos con valores entre 27648 y +27648) Entrada analgica de 10V a +10 V. OUT Valor de salida escalado entre el valor mximo y mnimo. Formato REAL. ENO Vale 0 si el valor de IN es superior o inferior al limite (-27648 o + 27648). En este caso, adems en OUT sale el valor mximo o el mnimo segn se rebase en positivo o en negativo. RET_VALUE Registro de error. Vale W#16#0000 si el escalado se ha hecho correctamente. Vale W#16#0008 si IN sale de los limites mximo o mnimo. -En este caso, queremos controlar el valor de temperatura de una sonda que da 0 Voltios a 0C y 10 Voltios a 100C y queremos tener en MD100 el valor real de esa temperatura. FC24
FC105 SCALE 1 EN PEW752 IN ENO RET_ VALUE OUT MW0

100.0 HI_LIM

MD10

0.0 LO_LIM

E124.0 BIPOLAR

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 54/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

UNIPOLAR

27648 PEW752

27648 PEW752

13824

13824

PEW752 100 SONDA DE TEMPERATURA


BIPOLAR

0V 0

5V

10 V

0C

50C

100C

MD10 RESULTADO ESCALADO DE PEW752

-Comprobar el funcionamiento de la funcin cuando activo el E124.0 +27648 Sonda de temperatura 0 a 100C

PLC
0- 10 V PEW752 PAW12 8

PEW752

0 0C 50C MD10 100C

-27648

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 55/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA). -Esta funcin la podemos encontrar en: Libreras Standard Library TI-S7 Converting Blocks

FC106

-La funcin UNSCALE sirve para desescalar el valor (mximo y mnimo) de una registro sobre una salida analgica.. Tambin podramos desescalar cualquier otro registro que no sea una salida analgica. Parmetros: EN Cuando tengamos un 1 se ejecuta la funcin. Si hay un 0, la funcin es saltada. IN Valor de entrada .Registro en formato REAL 32 bits. HI_LIM Valor mximo deseado del valor de entrada (IN). Nmero REAL, doble palabra o constante LOW_LIM Valor mnimo deseado del valor de entrada (IN) . Nmero REAL, doble palabra o constante BIPOLAR Si vale 0, daremos valores de salida entre 0 y 27648). Salida analgica de 0 a 10 V Si vale 1, daremos valores de salida entre 27648 y +27648) .Salida analgica de 10V a +10 V OUT Valor de salida escalado . Formato INT 16 bits. ENO Vale 0 si el valor de IN es superior al limite inferior o al superior (HI_LIM o LOW_LIMIT). En este caso, adems en OUT sale el valor mximo o el mnimo segn se rebase en por encima o por debajo. ( 0 o 27648). RET_VALUE Registro de error. Vale W#16#0000 si el escalado se ha hecho correctamente. Vale W#16#0008 si IN sale de los limites mximo o mnimo. -En este caso, queremos controlar la velocidad de un motor mediante un convertidor de frecuencia. El variador tiene una consigna de 0- 10 Voltios. Con 0 voltios, el motor ira a 0 rpm y con 10 voltios, ira a 1500 rpm Iremos dando un valor a MD100 entre 0 y 1500, ese valor se convertir en un valor en la salida analgica entre 0 y 27648, que a su vez har que la salida analgica de una seal entre 0 y 10 Voltios.. FC25
FC 106 UNSCALE

EN MD10 IN

ENO RET_VALUE MW0

1500.0 HI_LIM

OUT

PAW752

0.0 LO_LIM

E124.0 BIPOLAR

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 56/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Edita la siguiente tabla de estado y fuerza valores en el MD10. ( 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 : Aadir a este ejercicio las lneas del ejercicio E2 colocando en los IN de la funcin mover: 0.0, 300.0, 600.0, 900.0, 1200.0 y 1500.0 y en todos los OUT colocar MD10. El colocar .0 se aade para decirle que ese valor es un nmero real.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 57/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA. -Queremos tener una alarma de mnimo y una de mximo de una temperatura. La temperatura la lee la entrada analgica PEW752. -Debe de activarse la alarma de mxima cuando el valor de la temperatura supere los 90C -Debe de activarse la alarma de mnima cuando el valor de la temperatura este por debajo de 40C. -El E124.0 es el pulsador de enterado. Al accionarlo se borra la alarma de mnimo y de mximo -Las alarmas de mnimo o mximo, no volvern a activarse hasta que su valor no suba (mnima) o baje(mxima) del valor de la consigna y se den de nuevo las condiciones de activacin de las alarmas. -Para poder colocar las consignas de mxima y mnima, debo hacer una regla de tres y as deduzco que: Tendr 90C cuando el valor en PEW752 sea de 24883. Tendr 40C cuando el valor en PEW752 sea de 11059. FC26
M1.0 1 PEW752 IN1 CMP>I A124.0

24883

IN2 M1.1 A124.1 CMP<I

2 PEW752 IN1

11059

IN2

E124.0 3

A124.0

R
A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 58/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II). -Queremos tener una alarma de mnimo y una de mximo de una temperatura. La temperatura la lee la entrada analgica PEW752. -Debe de activarse la alarma de mxima cuando el valor de la temperatura supere los 90C. -Debe de activarse la alarma de mnima cuando el valor de la temperatura este por debajo de 40C. -El E124.0 es el pulsador de enterado. Al accionarlo se borra la alarma de mnimo y de mximo -Las alarmas de mnimo o mximo, no volvern a activarse hasta que su valor no suba (mnima) o baje(mxima) del valor de la consigna y se den de nuevo las condiciones de activacin de las alarmas. -En este caso, utilizando la funcin SCALE, ya tengo en MD10 en formato REAL el valor de la temperatura que lee el PEW752, con lo cual puedo realizar la comparacin de forma directa. -Si en lugar de poner las constantes 90.0 y 40.0 ponemos dos registros en formato Real, desde un terminal de operador o desde un sistema Scada podramos cambiar los valor de consigna con solo forzar los valores que nos interesen a MD20 (consigna de mxima) y MD30 (Consigna de mnima).

FC27
SCALE 1 EN PEW752 IN ENO RET_VALUE MW0

100.0 HI_LIM

OUT

MD10

0.0 LO_LIM

E0.0 BIPOLAR

M2.0 2 MD10 IN1 CMP>R

A124.0

MD20

IN2 M2.1 A124.1 CMP<R

3 MD10 IN1

MD30

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 59/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

NOTA: Cuando pongamos una constante en formato REAL, aunque la constante no tenga decimales como en nuestro caso, tenemos que poner 40.0 si solo ponemos 40 el entiende que es un nmero entero y no tiene cabida en una funcin de nmeros reales.

E124.0 4

A124.0

R
A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 60/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E17.1. GRABACIN DE UNA TABLA EN UN BLOQUES DE DATOS (DB). FUNCIN ATT. Crear un mdulo 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 (nmeros enteros). -Queremos que el valor que tenga la primera palabra de datos sea 10 DB10 Direccin 0.0 +0.0 *2.0 =24.0

Nombre Temperatura

Tipo STRUCT ARRAY[1..12] INT END_STRUCT

Valor inicial

Comentario

Ir a Ver Datos Ir a Edicin Inicializar bloques de datos Direccin 0.0 2.0 4.0 6.0 8.0 10.0 12.0 14.0 16.0 18.0 20.0 22.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 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 funcin ATT la encontraremos en: -Libreras Standard library TI-S7 Converting Blocks -Funcionamiento:

FC84

En DATA, indicamos el dato que queremos grabar. En TABLE, indicamos cual ser el primer registro de esa tabla. En ese primer registro, (ponindole un valor) indicaremos el nmero de registros que podr grabar esa tabla. En el segundo registro, se nos ira indicando el nmero de registros llenos (cada vez que grabemos un valor en la tabla, ese registro incrementara en 1 su valor. -Cuando en la entrada EN tenga un 1, se grabara un dato en la tabla (si no pusiramos flanco, en este caso en 10 scanes quedara la tabla llena). -Cuando el primer y el segundo registro de la tabla sean iguales (la tabla estar llena), ya no se grabara ningn registro ms.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 61/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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

Nmero de registros de la tabla

Nmero de registros grabados

Primer registro grabado

-Cada vez que accione el E124.0, el valor que tenga en ese momento la entrada analgica PEW752 ira al primer registro libre de la tabla. -Cuando la tabla este llena (DBW0 ser igual a DBW2), funcionara de forma intermitente la salida A125.0 FC28
E124.0 1 M0.0 ATT EN PEW752 DATA ENO

DB10.DBW0 TABLE M255.4 2 DB10.DBW0 IN1 CMP==I A125.0

DB10..DBW2

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 62/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO. -La funcin LIFO la encontraremos en: -Libreras Standard Library TI-S7 Converting Blocks -Funcionamiento: En TABLE, indicamos cual ser el primer registro de esa tabla. En RET_VALUE se nos cargara el valor que recuperemos de la tabla. El valor del segundo registro de la tabla, nos apuntara al registro que recuperaremos al ejecutar la instruccin y al ejecutarla adems ese valor ser decrementado en 1. La instruccin LIFO igual que la ATT debe ir siempre con flanco, en nuestro caso, en caso de no hacerlo en 10 scanes nos enviara los 10 valores de la tabla a RET_VALUE quedando solo el primer valor grabado. FC29
E124.0 1 M0.0 ATT EN PEW752 DATA ENO

FC87

DB10.DBW0 TABLE M255.4 2 DB10.DBW0 IN1 CMP==I A125.0

DB10..DBW2

IN2

E124.1 3

M0.1

LIFO EN ENO

DB10.DBW0 TABLE

RET_VALUE MW10

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 63/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E17.3. GRABACIN DE UNA TABLA DE DATOS (II). SOBREESCRIBIR DATOS. -En este ejercicio, podemos comprobar que cuando la tabla esta llena de datos, sobrescribimos de nuevo la tabla. -Despus de grabar el registro 10, empezara a sobrescribir el 1, despus el dos, etc. -Con esto conseguiramos tener siempre grabados los diez ltimos datos.

FC30
E124.0 1 M0.0 ATT EN PEW752 DATA ENO

DB10.DBW0 TABLE MOVE 2 DB10.DBW0 IN1 0 IN DB10..DBW2 IN2 OUT DB10.DBW2 CMP==I EN ENO

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 64/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E17.4. GRABACIN DE UNA TABLA DE DATOS (III). BORRADO DE DATOS. FUNCION FILL. -En este ejercicio, podemos comprobar como borramos todos los datos de una tabla. - (Segmento 2 y 3)Al accionar el pulsador E124.1, cargamos el valor 0 en DBW2 y durante 10 scanes escribimos el valor 0 en todos los registros de la tabla. (DBW2 quedara con valor 10). - (Segmento 4) Al soltar el pulsador E124.1 pondremos a DBW2 al valor 0, con lo cual la tabla quedara preparada para poder grabar nuevos datos. A) Creacin de un programa para borrar los datos FC31
E124.0 1 M0.0 ATT EN PEW752 DATA ENO

DB10.DBW0 TABLE

E124.1 2

M0.1

MOVE EN ENO

0 IN

OUT DB10.DBW2

E124.1 3 EN W#16#0000 DATA

ATT ENO

DB10.DBW0 TABLE

E124.1 4

M0.2

MOVE EN ENO

0 IN

OUT DB10.DBW2

B) Uso de una funcin de sistema para borrar la tabla. -Borra los segmentos 2, 3 y 4 y aade el siguiente: -La funcin de sistema FILL (SFC21) la encontrareis en Libreras Standard Library System Funtion -Es una funcin que NO podremos transferirla (ni hace falta)porque al ser de sistema ya esta incluida en la CPU.
E124.7 2 EN MOVE ENO EN FILL ENO MW30

MW20 BVAL RET_VAL 0 IN OUT MW20

BLK P#DB10.DBW4 WORD 10

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 65/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E17.5. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA. -Queremos guardar el valor de una entrada analgica y al mismo tiempo que nos quede registrado de forma paralela a que hora y minuto se ha grabado ese dato. -Para ello primero utilizaremos el DB6 (tenemos en el los datos del reloj) el DB10 ya usado anteriormente y adems debemos crear un DB11 donde grabar los datos del reloj.

DB11 Direccin 0.0 +0.0 *2.0 =22.0 Nombre Hora y minuto Tipo STRUCT ARRAY[1..12] WORD END_STRUCT Valor inicial W#16#0 Comentario

En el primer registro de la tabla, debemos indicar el nmero de registros que queremos grabar. En nuestro caso son 10 por lo tanto como el formato del registro esta en hexadecimal deberemos colocar W#16#A. Ir a Ver Ir a Edicin palabra 0.0 Datos. Inicializar bloques de datos Salvar poner valor W#16#000A en valor actual de la

Direccin 0.0 2.0 4.0 6.0 8.0 10.0 12.0 14.0 16.0 18.0 20.0 22.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. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 66/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN 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 1 M0.0 ATT EN PEW752 DATA ENO

DB10.DBW0 TABLE

ATT EN DB6.DBW4 DATA ENO

DB11.DBW0 TABLE

M255.4 2 DB10.DBW0 IN1 CMP==I

A125.0

DB10..DBW2

IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 67/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E18.1. EXPULSION DE BOTELLAS DEFECTUOSAS.

Se trata de extraer las botellas defectuosas de un proceso de colocacin de etiquetas, por motivos de contruccin no es posible colocar el dispositivo extractor y la derivaci de la cinta transportadora en el lugar de la deteccin de la etiqueta, es por ello que se deber registrar la botella defectuosa y despus de haber contabilizado la segunda botella despus de la detectada como defectuosa, realizar la extraccin de la misma mediante la actuacin de un cilindro.

ENTRADAS. E124.0: Pulsador de Paro. E124.1: Pulsador de Marcha. E124.2: Detector de etiqueta. E124.3: Detector de botella. E124.4: Detector cilindro a -. E124.5: Detector cilindro a +.

SALIDAS. A124.0: Activacin cilindro a +. A124.1: Activacin cilindro a -.

Dispositivo para colocar etiqueta a las botellas

Detector_Etiqueta [E124.2]

Detector_Botella [E124.3]

E124.4

E124.5

Botellas defectuosas

Botellas correctas

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 68/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 69/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E19.1. PROGRAMACIN DEL OB10. El OB10, permite interrumpir el OB 1 y ejecutarse en una fecha determinada o a diferentes intervalos a partir de una fecha determinada. Se puede programar para que se ejecute en los siguientes intervalos: Una vez: Se ejecutara solo una vez en el momento especificado. Cada minuto : Se ejecutara 1 vez cada minuto a partir del momento especificado. Cada hora : Se ejecutara 1 vez cada hora a partir del momento especificado. Cada da : Se ejecutara una vez al da a partir del momento especificado Cada mes : Se ejecutara una vez al mes a partir del momento especificado. Cada ao : Se ejecutara una vez al ao a partir del momento especificado Al final de mes : Se ejecutara una vez al final del mes a partir del momento especificado.

Tenemos dos formas de programarlo: Primera forma: 1 Ir al Administrador Hardware (Picar dos veces sobre el) Picar dos veces sobre CPU Seleccionar la pestaa Alarmas horarias En periodicidad seleccionar cada cuanto tiempo queremos que acte (1 minuto) En fecha y hora poner a partir de que momento queremos que empiece ( fecha 23.10.02, hora 12:54) Compilar y transferir el Hardware a la CPU. 2 Programar el OB10. (Realizar el programa que viene a continuacin).
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.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 70/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Segunda forma: 1 Mediante la funcin FC3 (D_TOD_DT) de Libreras 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 funcin SFC28 (SET_TINT) de Libreras de Standard Library de System Function Blocks, indicamos cual es el OB con el que queremos trabajar(OB_NR), a que hora queremos que empiece (SDT) y cual va a ser su peridiocidad (PERIOD) y donde va el cdigo 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 funcin SFC30 (ACT_TINT) de Libreras de Standard Library de System Function Blocks, activamos o desactivamos la ejecucin del OB10. 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. (Realizar el programa que viene a continuacin).


ADD_I EN MW10 IN1 ENO OUT MW10

1 IN2

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 71/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E19.2. PROGRAMACIN DEL OB20. El OB20, permite interrumpir el OB 1 y ejecutarse despus de un tiempo de demora determinado. El OB20 arranca despus de una llamada al SFC32 . El SFC32 lo podemos encontrar en Libreras Standard Library System Funtion Blocks

Parmetros del SFC32 OB_NR Nmero del OB que arrancara con retardo. DTIME Duracin del retardo (1 a 60000 ms) SIGN Identificador que se pone en la informacin de arranque del OB cuando se llama al OB de retardo. RET_VALUE Contiene el cdigo del error si se produjera uno mientras se procesa el OB. OB1
E124.0 M20.0 SRT_D_INT EN 20 OB_NR ENO RET_VAL MW0

T#2S DTIME W#16#1 SIGN E124.1 A124.0

R
OB20 SET = A124.0

Enviar el OB1 y el OB20 al PLC y comprobar el funcionamiento.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 72/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E19.3. PROGRAMACIN DEL OB35. El OB35, permite interrumpir la ejecucin del OB1 a intervalos fijos y ser ejecutado. El intervalo de tiempo es respecto al momento que la CPU se pone en RUN. Hay que asegurarse que el tiempo de ejecucin del programa del OB35 es menor que el tiempo de intervalo programado como repeticin de la ejecucin del OB35.

Configuracin del OB35: 1 Ir al Administrador Hardware (Picar dos veces sobre el) Picar dos veces sobre CPU Seleccionar la pestaa Alarmas cclicas En periodicidad seleccionar cada cuanto tiempo queremos que acte (1 a 60000 ms), poner 125 ms Compilar y transferir el Hardware a la CPU. 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, hemos creado generadores de impulsos (MB11). Si el tiempo de ejecucin del OB35 es de 125 ms. El M11.0 ser un generador de 025 S El M11.1 ser un generador de 05 S El M11.2 ser un generador de 1 S El M11.3 ser un generador de 2 S El M11.4 ser un generador de 4 S El M11.5 ser un generador de 8 S El M11.6 ser un generador de 16 S El M11.7 ser un generador de 32 S

-Transferir el OB35 y en la tabla de estado visualizar el valor de MW10 en Binario.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 73/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E19.4. PROGRAMACIN DEL OB121. -El sistema operativo de la CPU llama al OB 121 cuando aparece un error durante la ejecucin del programa. -Cuando se produzca un error si en el autmata no esta programado el OB121, el PLC se pone en STOP y se ilumina el led SF -Cuando se produzca un error si en el autmata esta programado el OB121, el PLC sigue en RUN y se ilumina el led SF. 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. -Se numera un temporizador o contador inexistente. -Error en llamada a DB o DB inexistente. -Llamada a un FC no cargado. 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. -Otra forma es la de usar la informacin del mdulo (descrita en segundo lugar). A) Primera forma de chequear errores de programacin. 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 conversin BCD B#16#22 Infraccin de rea en la lectura B#16#23 Infraccin de rea en la escritura B#16#28 Acceso de lectura a un registro con un puntero cuyo direccin binaria es diferente a 0
Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 74/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

B#16#29 Acceso de escritura a un registro con un puntero cuyo direccin 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 direccin de temporizador B#16#27 Error en direccin 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 nmero de DB en el acceso a un DB global B#16#33 Error de nmero de DB en el acceso a un DB de instancia B#16#34 Error de nmero de FC en la llamada a FC B#16#3A Acceso a un DB no cargado, el nmero de DB esta dentro del rea admisible B#16#3C Acceso a un FC no cargado, el nmero de FC esta dentro del rea admisible B#16#3D Acceso a un SFC no cargado, el nmero de SFC esta dentro del rea admisible B#16#3E Acceso a un FB no cargado, el nmero de FB esta dentro del rea admisible B#16#3F Acceso a un SFB no cargado, el nmero de SFB esta dentro del rea admisible OB121_FLT_REG En la mayora de los casos indica el nmero de registro afectado (decimal). OB121_BLK_TYPE Tipo de bloque en el que ha aparecido el error (en S7300 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) Nmero del bloque donde ha aparecido el error NOTA:-Transferir todos los mdulos a excepcin del FC34, e ir localizando los errores de programacin realizados. OB1
E124.0 EN MOVE ENO

DB1.DBW10 IN DB2 FB 80 EN

OUT MW6

E124.1

ENO

E124.2 EN

FC 34 ENO

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 75/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

E124.3 EN

FC 100 ENO

FC34
E124.5 T1230

SA
T12 A124.1

FC100

E124.7

A1240.6

E124.6

A124.7

Direccin 0.0 0.0 2.0 4.0 =6.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

Direccin 0.0 0.0 2.0 4.0 =6.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. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 76/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

B) Chequeo de los errores en el bfer de diagnstico.. Se har en el editor AWL/FUP/KOP 1 Seleccionar Sistema de destino

2 Clicar sobre Informacin del mdulo

3 Clicar sobre bfer de diagnstico

4 En esta casilla me saldr informacin sobre el error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 77/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Activar la entrada E124.3 y comprobar en la tabla de variables los valores que me darn los datos del error ocurrido. Infraccin del rea al escribir. Nmero errneo Tipo del mdulo donde est el error (FC) Nmero del mdulo donde est el error (100)

-Ir a la informacin del mdulo y comprobar el error ocurrido .

Error ocurrido

Descripcin del error

Clicar y se abrir el bloque y el segmento donde esta el error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 78/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

Localizacin del error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 79/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Activar la entrada E124.0 y comprobar en la tabla de variables los valores que me darn los datos del error ocurrido.

Infraccin del rea al leer. Numero errneo Tipo del mdulo donde esta el error (OB) Nmero del mdulo donde est el error (1)

-Ir a la informacin del mdulo y comprobar el error ocurrido .

Error ocurrido

Descripcin del error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 80/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Activar la entrada E124.1 y comprobar en la tabla de variables los valores que me darn los datos del error ocurrido.
Acceso a un DB no cargado Nmero del DB Tipo del mdulo donde est el error (OB) Nmero del mdulo donde est el error (1)

-Ir a la informacin del mdulo y comprobar el error ocurrido .

Error ocurrido

Descripcin del error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 81/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Activar la entrada E124.2 y comprobar en la tabla de variables los valores que me darn los datos del error ocurrido. Acceso a un FC no cargado. Nmero FC Tipo del mdulo donde est el error (OB) Nmero del mdulo donde est el error (1)

-Ir a la informacin del mdulo y comprobar el error ocurrido .

Error ocurrido

Descripcin del error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 82/84 Fichero: Instrucciones avanzadas Versin: 2.2

Departament dEducaci

Electricitat/Electrnica

PROGRAMACIN AVANZADA CON EL PLC S7-300

-Transferir el FC34 al PLC y activar de nuevo la entrada E124.2 y comprobar en la tabla de variables los valores que me darn los datos del error ocurrido. Error en direccin de un temporizador Nmero errneo. Tipo del mdulo donde est el error (FC) Nmero del mdulo donde est el error (34)

-Ir a la informacin del mdulo y comprobar el error ocurrido .

Error ocurrido

Descripcin del error

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Pgina: 83/84 Fichero: Instrucciones avanzadas Versin: 2.2

Das könnte Ihnen auch gefallen