SlideShare una empresa de Scribd logo
1 de 84
Descargar para leer sin conexión
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
Realizado por:
Ramon L. Yuste Yuste
Luis Martinez Novoa
IES SEP COMTE DE RIUS
Fecha: 05/02/06
Versión: 2.2
Página: 1/84
Fichero: Instrucciones avanzadas
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
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
Versión: 2.2
Página: 2/84
Fichero: Instrucciones avanzadas
INDICE:
CONCEPTOS BÁSICOS NIVEL 1
1 SISTEMAS DE NUMERACION......................................................................................................... 4
2 MÓDULOS DE ORGANIZACIÓN...................................................................................................... 7
3 BLOQUES DE FUNCIÓN ................................................................................................................. 9
4 MÓDULOS DE DATOS.................................................................................................................... 10
5 ACUMULADORES............................................................................................................................ 11
E6.1. FUNCION MOVER (TRANSFERENCIA)...................................................................................... 12
E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA)................................................ 13
E7.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR........ 15
E7.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES................. 16
E8.1. PRESELECCIÓN VARIABLE DEL VALOR DE UN CONTADOR. .............................................. 18
E8.2. INSTRUCCIONES DE COMPARACIÓN...................................................................................... 20
E8.3. CONTROL DE INICIO DE LA MARCHA DE UN PROCESO........................................................ 22
E8.4. CLAVE PARA ABRIR UNA CERRADURA.................................................................................... 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.................................. 27
E10.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN VARIABLE.
BASE DE TIEMPOS FIJA................................................................................................................... 29
E10.3. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA)................................ 30
E10.4. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN....................................... 32
E10.5. CREACIÓN DE UN CONTADOR DE TIEMPOS............................................................................. 33
E10.6. OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE.................................... 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................. 38
E12.2. CREACIÓN DE UNA PLANTILLA CON NÚMEROS REALES.................................................... 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
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
Versión: 2.2
Página: 3/84
Fichero: Instrucciones avanzadas
16. TRATAMIENTO DE SEÑALES ANALÓGICAS.
E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA)..................................................... 54
E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA)........................................... 56
E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA.............................. ........ 58
E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II)................................. 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.......................... 61
E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO....................................... 63
E17.3. GRABACIÓN DE UNA TABLA DE DATOS (II). SOBREESCRIBIR DATOS................................. 65
E17.4. GRABACIÓN DE UNA TABLA DE DATOS (III). BORRADO DE DATOS. FUNCIÓN FILL........... 66
E17.5. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA........................................ 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....................................................................................................... 70
E19.2. PROGRAMACIÓN DEL OB20....................................................................................................... 72
E19.3. PROGRAMACIÓN DEL OB35....................................................................................................... 73
E19.4. PROGRAMACIÓN DEL OB121..................................................................................................... 74
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
Versión: 2.2
Página: 4/84
Fichero: Instrucciones avanzadas
1. SISTEMAS DE NUMERACION.
SISTEMA DECIMAL
En un sistema decimal, nos encontramos que cada dígito puede tener los siguientes valores:
0 1 2 3 4 5 6 7 8 9
Calculo del valor decimal:
-Tenemos por ejemplo el valor 7632
Su valor decimal será:
3 2 1 0
7x10 + 6x10 + 3x10 + 2x10
7x1000 + 6x100 + 3x10 +2 = 7632
SISTEMA BINARIO
En un sistema binario, 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á:
5 4 3 2 1 0
1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 + 1 x 2
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á:
7 6 5 4 3 2 1 0
1 x 2 + 0 x 2 + 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 + 1 x 2
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 trabajáramos con una palabra, 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, sino será positivo.
128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 + = 173
El valor real será -1 (valor de bit 7) * 256 + 173 = - 83
El número binario 10101101 equivale al número decimal con signo - 83
3
3
3
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
Versión: 2.2
Página: 5/84
Fichero: Instrucciones avanzadas
Calculo del valor binario de un número decimal:
-Tenemos por ejemplo el número decimal 13
Su valor binario será:
13 2
1 6 2
0 3 2
1 1 2
1 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, 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á:
2 1 0
3 x 16 + A(10) x 16 + 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á:
3512 16
R 8 219 16
R 1 13 16
R 13(D) 0
D 1 8
3
3
3
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
Versión: 2.2
Página: 6/84
Fichero: Instrucciones avanzadas
El número decimal 3512 equivale al número hexadecimal D 1 8
Calculo del valor hexadecimal de un número binario:
-Tenemos por ejemplo el número binario 1101 0110 0011 1001
Su valor hexadecimal será:
1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1
13(D) 6 3 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á:
E 5 7 A
1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 0
El número binario hexadecimal E57A equivale al número binario 1110 0101 0111 1010
CODIGO BCD
En un código BCD, nos encontramos con lo que se llama binario codificado decimal.
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, su valor decimal es: 150
7 6 5 4 3 2 1 0
1 x 2 + 0 x 2 + 0 x 2 + 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 = 150
*si lo tomamos como número BCD, su valor decimal es: 96
10 0 1 0 1 1 0
9 6
3
3
3
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
Versión: 2.2
Página: 7/84
Fichero: Instrucciones avanzadas
2. MÓDULOS DE ORGANIZACIÓN.
Características de los módulos OB.
OB1 Es un módulo que se ejecuta cíclicamente
• El OB1 se ejecuta en cada scan.
• Es el que tiene la prioridad más baja
OB10 a OB17 Realiza una interrupción horaria.
• Empieza en un momento programado
• Se ejecuta a partir de ese momento cada cierto tiempo:
• Una sola vez, cada minuto, cada hora, cada día, cada semana, cada mes, cada año, a final
de mes
OB20 a OB23 Realiza una interrupción 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 5 s 7
• OB 31 2 s 8
• OB 32 1 s 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 . (entradas analógicas, contadores de alta velocidad etc...)
OB80 a OB87 Error Asíncrono.
• OB80Error de tiempo (Tiempo de ciclo excedido).
Si no esta programado y detecta el error, 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.
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, el PLC pasa a STOP
• OB84 Avería 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
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
Versión: 2.2
Página: 8/84
Fichero: Instrucciones avanzadas
• OB85Evento de arranque para un OB no cargado.
Si no esta programado y detecta el error, el PLC pasa a STOP.
• OB86Detección de fallo en un bastidor.
Si no esta programado y detecta el error, el PLC pasa a STOP.
• OB87Detección de fallo en comunicación.
OB100 a 0B102 OBS de modo de arranque (solo puede estar activado uno de ellos).
Se selecciona en Administrador- Hardware--- CPU (picar dos veces) pestaña
‘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 después el OB1 (empezando por la primera instrucción).
OB101 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 después sigue leyendo en el punto donde dejo de leer al pasar al
estado STOP.
OB102 Arranque en frío
•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 después el OB1 (empezando por la primera instrucción).
OB121 y OB122OBs de error
OB121 Error de ejecución de programa.
•Detecta errores de programación.
•Si no esta programado y detecta el error, el PLC pasa a STOP.
OB122 Error al intentar acceder a un módulo de datos (entradas, salidas, etc...).
• Si no esta programado y detecta el error, el PLC pasa a STOP.
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
Versión: 2.2
Página: 9/84
Fichero: Instrucciones avanzadas
3. BLOQUES DE FUNCIÓN.
Las Funciones, son módulos que se ejecutan al ser llamados desde otros módulos.
• Cuando se les llama, la función actúa como una subrutina del programa.
• Cuando termina de ejecutar el módulo, el programa retorna al módulo desde donde fue llamado, en la
instrucción posterior al salto.
Hay dos tipos de funciones:
• Funciones sin parámetros.
• Funciones parametrizables (Plantillas).
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).
• En el módulo de datos (DB) se mantiene una copia de los parámetros que van al área de datos locales.
• Después de la ejecución del FB, se borra el área de memoria local, pero el DB asociado, mantiene los
valores.
OB1 DB10 FB1
Tipo de declaración dentro de un módulo:
IN Parámetros de entrada de los que se lee.
OUT Parámetros de salida en los que se puede escribir.
IN_OUT Parámetros que pueden ser leídos 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 declaración local, menos los temporales, se almacenan en un bloque de datos
(DB de Instancia).
PROGRAMA
CALL FB1, DB10
PROGRAMA
Copia de la parte
de declaración local
del FB1
Area de declaración
local
PROGRAMA
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
Versión: 2.2
Página: 10/84
Fichero: Instrucciones avanzadas
4 MÓDULOS DE DATOS.
Los módulos de datos, son áreas de memoria de la CPU que se utilizan para almacenar datos.
• Los DB mantienen su valor ante un corte de tensión, siempre que tengamos la pila tampón de respaldo.
En caso de no tener pila, solo mantendrán 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 módulos de datos:
-Módulos de datos globales
• Los módulos de datos globales, pueden ser utilizados por todos los módulos 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 módulo OPN DB (en KOP) o AUF DB (en AWL).
• Los datos permanecen almacenados en el DB aunque se cierre el DB.
-Módulos de datos de instancia:
• Un DB de instancia, 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.
• UN DB de instancia no necesita abrirse con ninguna instrucción, se abre se lee y se escribe en el de
forma automática.
• Al empezar a leer el bloque de función, se carga del DB una copia de las variables locales en el bloque
de función, se ejecuta el bloque y cuando acaba, deposita el valor actual de las variables locales en el
DB de instancia.
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
Versión: 2.2
Página: 11/84
Fichero: Instrucciones avanzadas
5. ACUMULADORES.
Los acumuladores son registros auxiliares en la CPU que se utilizan para el intercambio de datos,
operaciones de comparación y operaciones aritméticas.
El S7-300 tiene dos acumuladores de 32 bits y el S7-400 tiene cuatro.
Carga: (L)
La operación 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 operación de transferencia solo transfiere el valor que haya en ACCU1 y el ACCU1 queda invariable.
(Copia el valor del ACCU1 en un registro).
Manipulación 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
0 0 0 0 0 0 0 0 0 0 0 0 EB0 L EB0
31 24 23 16 15 8 7 0
ACCU1
0 0 0 0 0 0 0 0 EB0 EB1 L EW0
31 24 23 16 15 8 7 0
ACCU1
MB0 MB1 MB2 MB3 L MD0
31 24 23 16 15 8 7 0
ACCU1
MB0 MB1 MB2 MB3 T AB0
T AB0
ACCU1
MB0 MB1 MB2 MB3 T AW0
T AW0
ACCU1
MB0 MB1 MB2 MB3 T AD0
T AD0
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
Versión: 2.2
Página: 12/84
Fichero: Instrucciones avanzadas
E6.1. FUNCION MOVER (TRANSFERENCIA).
-La función 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 función se ejecuta sin errores.
-Si tenemos un 0 en la entrada EN la función 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
1011100111001010 AW124
FC1
E126.0 MOVE
EN ENO
EW124 IN OUT AW124
Programación en AWL
U E 126.0
SPBNB _001
L EW 124
T AW 124
_001: NOP 0
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
Versión: 2.2
Página: 13/84
Fichero: Instrucciones avanzadas
E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA).
-En este caso queremos enviar diferentes constantes a una misma palabra.
-PAW752 es una salida analógica que trabajara entre valores 0 y 27648. Con esos valores, 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.
-En este caso tengo seis pulsadores del E124.0 al E124.5. Accionando los pulsadores en orden ascendente
queremos que la salida analógica nos de valores de 0, 2, 4, 6, 8 y 10 voltios.
-Cuando accione la entrada E124.6, 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, calculo las siguientes correspondencias:
Valor en PAW752 Voltios en salida
0 0 V
5529 2 V
11058 4 V
16578 6 V
22118 8 V
27648 10 V
FC2
E124.0 MOVE
1 EN ENO
0 IN OUT PAW752
E124.1 MOVE
2 EN ENO
5529 IN OUT PAW752
E124.2 MOVE
3 EN ENO
11058 IN OUT PAW752
E124.3 MOVE
4 EN ENO
16578 IN OUT PAW752
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
Versión: 2.2
Página: 14/84
Fichero: Instrucciones avanzadas
E124.4 MOVE
5 EN ENO
22118 IN OUT PAW752
E124.5 MOVE
6 EN ENO
27648 IN OUT PAW752
E124.6 MOVE
6 EN ENO
PEW752 IN OUT PAW752
Nota: Probar que ocurre cuando acciono dos pulsadores al mismo tiempo.
-Indicar que solución puedo tomar para que el ultimo valor activo sea el efectivo.
-Una vez probado el ejercicio, calcular los valores que tendríamos que enviar para tener 1, 3, 5, 7 y 9 voltios
de salida en PAW752.
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
Versión: 2.2
Página: 15/84
Fichero: Instrucciones avanzadas
E7.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR.
-Realizaremos la preselección de un temporizador con un valor variable. Cada vez que accionemos el
E124.0, el temporizador cogerá como preselección 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
MB0 MB1
0010 0011 1001 0101 = W#16#2395
Base T. Centenas Decenas Unidades
La base de tiempos es: 3 Valor X 10 seg.
2 Valor X 1 seg.
1 Valor X 0’1 seg.
0 Valor X 0’01 seg.
En nuestro caso, Base Tiempos = 2 1 Segundo x 395 = 395 segundos
-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
T1
E124.0 S_EVERZ A124.0
1 S Q
MW0 TW DUAL MW2
R DEZ MW4
Nota: Cuando se coloca un tiempo en formato S5T (Tiempo Simatic), ajusta automáticamente el valor a 3
dígitos 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 dígitos 0 al 2 y comprobar que tiempo Simatic coge.
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
Versión: 2.2
Página: 16/84
Fichero: Instrucciones avanzadas
E7.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES.
-Tenemos un proceso de llenado de botes. Hay tres tamaños de botes.
Para llenar el bote pequeño, la electro válvula (A124.0) debe funcionar 3 segundos.
Para llenar el bote mediano, la electro válvula (A124.0) debe funcionar 8 segundos.
Para llenar el bote grande, la electro válvula (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 MOVE
1 EN ENO
S5T#3S IN OUT MW0
E124.1 MOVE
2 EN ENO
S5T#8S IN OUT MW0
E124.2 MOVE
3 EN ENO
S5T#15S IN OUT MW0
E124.0 A124.1 T1
4
MW0
E124.1
E124.2
T1 A124.1
5
SV
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
Versión: 2.2
Página: 17/84
Fichero: Instrucciones avanzadas
A124.1
P M G
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
Versión: 2.2
Página: 18/84
Fichero: Instrucciones avanzadas
E8.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN 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 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). Una
vez hecho esto accionara el pulsador E124.1 que cargara el valor de preselección, 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
lámpara A124.7.
-El operario retira entonces la caja llena, pone una caja vacía y repite el proceso (Pone la nueva
preselección en MW0 y acciona de nuevo el pulsador E124.1 con lo cual el ciclo comienza de nuevo.
FC5
E124.7 E124.0 Z1
E124.1 E124.0 Z1
MW0
Z1 E124.0 A124.0
Z1 M255.5 E124.0 A124.7
ZR
SZ
E124.7
A124.0
A124.7
E124.1
E124.0
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
Versión: 2.2
Página: 19/84
Fichero: Instrucciones avanzadas
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
Versión: 2.2
Página: 20/84
Fichero: Instrucciones avanzadas
E8.2. INSTRUCCIONES DE COMPARACIÓN.
-Tenemos tres tipos de comparadores, según el formato a comparar:
• Comparación entre dos números enteros. Formato INT 16 bits.
• Comparación entre dos números de dobles enteros. Formato DINT 32 bits.
• Comparación entre dos números reales. Formato REAL 32 bits.
-Hay seis tipos de comparadores según su condición de comparación:
• 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, actúa como un contacto en el que habrá un 1 cuando se cumpla la comparación.
FC6 AWL
E124.0 A124.0
CMP==I
1
MW0 IN1
MW2 IN2
E124.1 A124.1
CMP<>I
2
MW0 IN1
MW2 IN2
E124.2 A124.2
CMP>I
3
MW0 IN1
MW2 IN2
E124.3 A124.3
CMP<I
4
MW0 IN1
MW2 IN2
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
Versión: 2.2
Página: 21/84
Fichero: Instrucciones avanzadas
E124.4 A124.4
CMP>=I
5
MW0 IN1
MW2 IN2
E124.5 A124.5
CMP<=I
6
MW0 IN1
MW2 IN2
Si queremos realizar una comparación de un Byte o de números en formato hexadecimal, 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.7
-Queremos que cuando el valor del EB126 sea igual a 73 se desactive la salida A124.7
Programación en AWL
L EW 124
L W#16#2A4D
==I
S A 124.7
L EB 126
L 73
==I
R A 124.7
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
Versión: 2.2
Página: 22/84
Fichero: Instrucciones avanzadas
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, implicaría la colocación de 16 contactos en serie con el
elemento a activar.
-Resuelto con un comparador, se realizaría de la siguiente manera:
Estado que deben tener las entradas al poner en marcha el proceso:
EB124 EB125
.7 .6 .5 .4 .3 .2 .1 .0 .7 .6 .5 .4 .3 .2 .1 .0 EW124
1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1
El estado de las entradas en reposo, corresponde al valor decimal EW124= -22163
IMPORTANTE: Si queremos programar el comparador con números 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 A124.0
CMP==I
1
EW124 IN1
-22163 IN2
E126.1 A124.0
E126.0 M255.2 A124.7
CMP<>I
2
EW124 IN1
-22163 IN2
A124.0
R
S
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
Versión: 2.2
Página: 23/84
Fichero: Instrucciones avanzadas
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
Versión: 2.2
Página: 24/84
Fichero: Instrucciones avanzadas
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 preselección 3 en el contador 1.
-Ejercicio: Hacer el programa necesario para que una vez marque algún fallo demos un tiempo de 15
segundos para abrir la cerradura, en caso de no hacerlo, debe de activarse la alarma.
OB100
E0.0 Z1
1
C#3
FC8
E124.0 Z1 A124.0
CMP==I
1
MW0 IN1
1234 IN2
A124.0 T1
2
S5T#5S
T1 MOVE A124.0
3 EN ENO
0 IN OUT MW0
E124.0 M2.0 Z1
CMP<>I
4
MW0 IN1
1234 IN2
R
S
SE
P ZR
SZ
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
Versión: 2.2
Página: 25/84
Fichero: Instrucciones avanzadas
E124.0 Z1
CMP==I
5
C#3
MW0 IN1
9999 IN2
A124.0
Z1 M255.3 A124.7
6
SZSZ
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
Versión: 2.2
Página: 26/84
Fichero: Instrucciones avanzadas
E9.1. SELECCIÓN 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 solución 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
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
Versión: 2.2
Página: 27/84
Fichero: Instrucciones avanzadas
E10.1. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS.
-Operación serie entre palabras WAND_W.
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.
E124.0=1 IN1 1011100111001010 MW0
IN2 1101110010110111 MW2
OUT 1001100010000010 MW4
FC9
E124.0 WAND_W
1 EN ENO
MW0 IN1
OUT MW4
MW2 IN2
-Operación paralelo entre palabras WOR_W.
La función WOR__W coge los 16 bits de IN1 y los 16 bits de IN2, 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.
E124.1=1 IN1 1011100111001010 MW0
IN2 1101110010110111 MW2
OUT 1111110111111111 MW4
E124.1 WOR_W
2 EN ENO
MW0 IN1
OUT MW4
MW2 IN2
SERIE
RESULTADO
PARALELO
RESULTADO
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
Versión: 2.2
Página: 28/84
Fichero: Instrucciones avanzadas
-Operación OR exclusiva entre palabras WXOR_W.
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).
E124.2=1 IN1 1011100111001010 MW0
IN2 1101110010110111 MW2
OUT 0110 010101111101 MW4
E124.2 WXOR_W
3 EN ENO
MW0 IN1
OUT MW4
MW2 IN2
OR EXCLUSIVA
RESULTADO
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
Versión: 2.2
Página: 29/84
Fichero: Instrucciones avanzadas
E10.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN VARIABLE. BASE DE
TIEMPOS FIJA.
-Tendríamos un terminal de operador o un SCADA donde pondríamos el valor al MW0. Cuando accionemos
el E124.4, el temporizador se activara con MW10 como valor de preselección (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 después haremos una función 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 programación) aunque sea vacío y hay un error, el
PLC no se ira a STOP aunque indicara con el leed SF que hay un error.
FC10
E124.4 WAND_W WOR_W
1 EN ENO EN ENO
MW10 IN1 MW0 IN1
OUT MW0 MW0
W#16#0FFF IN2 W#16#2000 IN2
T2
E124.4 S_EVERZ A124.2
2 S Q
MW0 TW DUAL
R DEZ
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
Versión: 2.2
Página: 30/84
Fichero: Instrucciones avanzadas
E10.3. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA).
- (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).
- (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. (OUT= IN1-IN2).
- (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. (OUT= IN1*IN2).
- (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).
-La función MOD, recupera el resto de esa división (solo en dobles palabras).
-En cualquier de estas cuatro operaciones, 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).
-El resultado obtenido en OUT NO será valido.
-En ENO tendré un 0.
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,
indicaría que lo hay) en cambio el OV se actualiza en cada operación.
FC11
E124.0 ADD_I
1 EN ENO
MW0 IN1 OUT MW4
MW2 IN2
OV M255.3 A124.0
E124.1 SUB_I
2 EN ENO
MW0 IN1 OUT MW4
MW2 IN2
OV M255.3 A124.1
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
Versión: 2.2
Página: 31/84
Fichero: Instrucciones avanzadas
E124.2 MUL_I
3 EN ENO
MW0 IN1 OUT MW4
MW2 IN2
OV M255.3 A124.2
E124.3 DIV_I
4 EN ENO
MW0 IN1 OUT MW4
MW2 IN2
OV M255.3 A124.3
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
Versión: 2.2
Página: 32/84
Fichero: Instrucciones avanzadas
E10.4. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN.
-La creación de este contador con preselección tiene algunas ventajas respecto al contador normal.
-Con un contador normal (Z1) puedo contar como máximo 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 más fácil de leer en un sistema SCADA ya que tendremos el valor directamente en decimal.
-Si le pongo como preselección una variable, esta también podrá ser un número 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 preselección de ese “contador”.
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. Cargar el OB100 el valor de 4 (para iniciar).
FC12
E124.0 M2.0
ADD_I
ENO1
MW0 IN1
OUT MW0
1 IN2
E124.1 M2.1
SUB_I
ENO2
MW0 IN1
OUT MW0
1 IN2
E124.2 MOVE
3 EN ENO
0 IN OUT MW0
A124.4
CMP>=I
4
MW0 IN1
10 IN2
P
P
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
Versión: 2.2
Página: 33/84
Fichero: Instrucciones avanzadas
E10.5. CREACIÓN DE UN CONTADOR DE TIEMPOS.
-Mediante un generador de impulsos y una operación 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 A124.0
1
E124.1 A124.0
2
A124.0 M255.5 M10.0
ADD_I
ENO3
MW0 IN1
OUT MW0
1 IN2
CMP==I ADD_:I MOVE
4 ENO
IN ENO
MW0 IN1 MW2 IN1
OUT MW2
3600 IN2 1 IN2 0 IN OUT MW0
E124.2 MOVE
5 EN ENO
0 IN OUT MW0
MOVE
EN ENO
0 IN OUT MW2
M255.5 A124.7
CMP > I
6
MW2 IN1
5000 IN2
P
S
R
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
Versión: 2.2
Página: 34/84
Fichero: Instrucciones avanzadas
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.
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
Versión: 2.2
Página: 35/84
Fichero: Instrucciones avanzadas
E10.6. OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE.
- (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. (OUT= IN1+IN2).
- (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. (OUT= IN1-IN2).
- (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).
- (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. (OUT= IN1/IN2).
- (Segmento 5)Raíz cuadrada: SQRT realiza la raíz cuadrada de IN 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.
FC14
E124.0 ADD_R
1 EN ENO
MD0 IN1
OUT MD8
MD4 IN2
E124.1 SUB_R
2 EN ENO
MD0 IN1
OUT MD8
MD4 IN2
E124.2 MUL_R
3 EN ENO
MD0 IN1
OUT MD8
MD4 IN2
E124.3 DIV_R
4 EN ENO
MD0 IN1
OUT MD8
MD4 IN2
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
Versión: 2.2
Página: 36/84
Fichero: Instrucciones avanzadas
E124.4 SQRT
5 EN ENO
MD0 IN OUT MD8
E124.5 SQR
6 EN ENO
MD0 IN OUT MD8
E124.6 ABS
7 EN ENO
MD0 IN OUT MD8
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
Versión: 2.2
Página: 37/84
Fichero: Instrucciones avanzadas
E11.1. DIFERENTES MÉTODOS DE INCREMENTAR Y DECREMENTAR.
Se trata de realizar un circuito que responda al funcionamiento expresador en la siguiente figura:
Una posible solución 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
FC1
L MB20
INC 1
T MB20
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 E0.1
FP M0.1
CC FC2
FC2
L MB20
DEC 1
T MB20
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
Versión: 2.2
Página: 38/84
Fichero: Instrucciones avanzadas
E12.1. CREACIÓN 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 podríamos cambiar desde un terminal de operador o un sistema SCADA.
-En el segmento usamos la plantilla con un tiempo fijo de 1 segundo de conexión y 2 segundos de
desconexión.
Para crear la plantilla, debemos de rellenar la tabla de declaración de variables y definir estas.
Declaración Nombre Tipo Comentario
In TIEMPO_OFF S5TIME
In TIEMPO_ON S5TIME
In T1 TIMER
In T2 TIMER
Out GENERADOR BOOL
FC15
#T2 #T1
#TIEMPO_OFF
#T1 #T2
#TIEMPO_ON
#T1 #GENERADOR
OB1
FC15
1 EN ENO
MW0 TIEMPO_OFF
GENERA
DOR
M10.0
MW2 TIEMPO_ON
T10 T1
T11 T2
E124.0 M10.0 A124.0
2
SE
SE
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
Versión: 2.2
Página: 39/84
Fichero: Instrucciones avanzadas
FC15
3 EN ENO
S5T#2S TIEMPO_OFF
GENERA
DOR
M10.1
S5T#1S TIEMPO_ON
T12 T1
T13 T2
E124.1 M10.1 A124.0
4
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
Versión: 2.2
Página: 40/84
Fichero: Instrucciones avanzadas
E12.2. CREACIÓN DE UNA PLANTILLA CON NÚMEROS 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 declaración de variables y definir estas.
Declaración Nombre Tipo Comentario
In Tanto por ciento REAL
In Valor REAL
Out Resultado REAL
In_out
temp Auxiliar REAL
FC16
MUL_R DIV_R
1 EN ENO EN ENO
#Tanto por ciento IN1 #Auxiliar IN1
OUT #Auxiliar OUT #Resultado
#Valor IN2 100.0 IN2
Usaremos la plantilla tantas veces como nos sea necesario
OB1
E124.1 FC16
1 EN ENO
MD0
Tanto por
Ciento
Resultado MD8
MD4 Valor
E124.2 FC16
2 EN ENO
MD20
Tanto por
Ciento
Resultado MD28
MD24 Valor
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
Versión: 2.2
Página: 41/84
Fichero: Instrucciones avanzadas
Nota: Proteger la plantilla para que no se pueda abrir (KNOW_HOW_PROTECT)
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
Versión: 2.2
Página: 42/84
Fichero: Instrucciones avanzadas
E13.1. DIRECCIONAMIENTO INDIRECTO DE REGISTROS.
-Mediante el direccionamiento indirecto podemos direccionar diferentes módulos 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 número ha de ser
siempre 0 y se expresa P# X. 0 (Donde X indicara el número 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.
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
Versión: 2.2
Página: 43/84
Fichero: Instrucciones avanzadas
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 iría 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.
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
Versión: 2.2
Página: 44/84
Fichero: Instrucciones avanzadas
E14.1. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB).
-Tenemos un proceso idéntico 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
válvula), la cantidad del producto B y el tiempo de mezclado de los dos productos.
Al accionar un pulsador se abren las dos electro válvulas que dan paso a los productos y se pone en
marcha el mezclador. Según van pasando los tiempos, se cierra la válvula A, se cierra la válvula 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
Mezcla 1 DB1 Tiempo producto B 8 segundos
Tiempo Mezclador 12 segundos
Tiempo producto A 7 segundos
Mezcla 2 DB2 Tiempo producto B 5 segundos
Tiempo Mezclador 10 segundos
Tiempo producto A 8 segundos
Mezcla 3 DB3 Tiempo producto B 8 segundos
Tiempo Mezclador 15 segundos
-Crear el DB1 (Mezcla 1)
Dirección Nombre Tipo Valor inicial Comentario
0.0 STRUCT
0.0 Tiempo_P_A S5TIME S5T#5S Tiempo producto A
2.0 Tiempo_P_B S5TIME S5T#8S Tiempo producto B
4.0 Tiempo_Mezc S5TIME S5T#12S Tiempo mezclado
=6.0 END_STRUCT
Ir a “Ver” “Datos”
Ir a “Edición” “Inicializar bloques de datos” (con esto el valor inicial se copiara en el valor actual).
Dirección Nombre Tipo Valor
inicial
Valor
actual
Comentario
0.0 Tiempo_P_A S5TIME S5T#5S S5T#5S Tiempo producto A
2.0 Tiempo_P_B S5TIME S5T#8S S5T#8S Tiempo producto B
4.0 Tiempo_Mez S5TIME S5T#12S S5T#12S Tiempo mezclado
-Repetir el mismo proceso en DB2 (Mezcla 2) y DB3 (Mezcla 3)
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
Versión: 2.2
Página: 45/84
Fichero: Instrucciones avanzadas
FC19
E124.0 PEQU
1
DB1
2
PEQU
E124.1 MEDI
3
DB2
4
MEDI
E124.2 GRAN
5
DB3
6
GRAN
E124.0 FC20
7 EN ENO
E124.1
E124.2
JMPN
JMPN
JMPN
OPN
OPN
OPN
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
Versión: 2.2
Página: 46/84
Fichero: Instrucciones avanzadas
FC20
MOVE
1 EN ENO
DBW0 IN OUT MW0
MOVE
2 EN ENO
DBW2 IN OUT MW2
MOVE
3 EN ENO
DBW4 IN OUT MW4
OB1
FC19
1 EN ENO
E124.7 T1
2
MW0
T2
MW2
T3
MW4
T1 A124.0
3
T2 A124.1
4
SV
SV
SV
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
Versión: 2.2
Página: 47/84
Fichero: Instrucciones avanzadas
T3 A124.2
5
M
A124.1
A124.2
A124.0
PRODUCTO A PRODUCTO B
SELECCIÓN MEZCLA
E124.0
E124.1
E124.2
MARCHA PROCESO
E124.7
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
Versión: 2.2
Página: 48/84
Fichero: Instrucciones avanzadas
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 M10.0 ADD_I
1 EN ENO
MW210 IN1 OUT MW210
1 IN2
MOVE
CMP==I
2 EN ENO
MW210 IN1 1 IN OUT MW210
4 IN2
CMP==I
MW210 IN1
0 IN2
3 AUF DB [MW 210]
P
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
Versión: 2.2
Página: 49/84
Fichero: Instrucciones avanzadas
FC 20
EN ENO
4
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.
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
Versión: 2.2
Página: 50/84
Fichero: Instrucciones avanzadas
E15.1. PROGRAMACION DEL RELOJ.
-La hora y fecha, se pueden cambiar en el editor o en el administrador en
”Sistema de destino” ”Diagnostico/configuración” ”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 módulo, tendré que cargar esas variables temporales en unos registros (por ejemplo
en un DB).
Los datos del reloj están en BCD, por lo tanto deberé leerlos en hexadecimal:
LB12 B#16#02 (Año)
LB13 B#16#11 (Mes)
LB14 B#16#23 (Día)
LB15 B#16#15 (Hora)
LB16 B#16#47 (Minuto)
LB17 B#16#34 (Segundos)
LB18 B#16#68 (Décimas y Centésimas)
LB19 B#16#11 (Milésimas, día de la semana)
Día de la semana 1 Domingo
2 Lunes
3 Martes
4 Miércoles
5 Jueves
6 Viernes
7 Sábado
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 después el mismo funcionamiento, pero que solo funcione de lunes a viernes.
DB6
Dirección Nombre Tipo Valor inicial Comentario
0.0 STRUCT
+0.0 Reloj ARRAY[1..8] B#16#0
*2.0 BYTE
=16.0 END_STRUCT
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
Versión: 2.2
Página: 51/84
Fichero: Instrucciones avanzadas
OB1
Dirección Declaración Nombre Tipo Valor
inicial
Comentario
0.0 Temp -------------------- -----------------------
1.0 Temp -------------------- -----------------------
2.0 Temp -------------------- -----------------------
----- Temp -------------------- -----------------------
12.0 Temp OB1_DATE_TIME DATE__AND_TIME
MOVE MOVE
1 EN ENO EN 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 estarán en:
DB6.DBB0 (Año)
DB6.DBB1 (Mes)
DB6.DBB2 (Día)
DB6.DBB3 (Hora)
DB6.DBB4 (Minuto)
DB6.DBB5 (Segundos)
DB6.DBB6 (Décimas y Centésimas)
DB6.DBB7 (Milésimas, día 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
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
Versión: 2.2
Página: 52/84
Fichero: Instrucciones avanzadas
-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 día 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
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
Versión: 2.2
Página: 53/84
Fichero: Instrucciones avanzadas
Ejercicio 3
-Creación de una plantilla para poder realizar la conexión y desconexión 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 declaración de variables y definir estas.
FC23
Declaración Nombre Tipo Comentario
In HORA_INICIO WORD
In HORA_FINAL WORD
Out SALIDA BOOL
In_out
temp REAL
L DB6.DBW3
L #HORA_INICIO
== I
S #SALIDA
L DB6.DBW3
L #HORA_FINAL
== I
R #SALIDA
OB1
MOVE MOVE
1 EN ENO EN ENO
LD12 IN OUT DB6.DBD0 LD16 IN OUT DB6.DBD4
E124.2 FC23
2 EN ENO
MW20 HORA_INICIO
SALIDA A124.0
MD22 HORA_FINAL
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
Versión: 2.2
Página: 54/84
Fichero: Instrucciones avanzadas
E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA).
-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). También podríamos escalar cualquier otro registro que no sea una entrada analógica.
Parámetros:
EN Cuando tengamos un 1 se ejecuta la función. Si hay un 0, la función es saltada (no se
ejecuta).
IN Valor de entrada (número de entrada analógica). Formato entero 16 bits INT.
HI_LIM Valor máximo deseado de salida (OUT). Número REAL, doble palabra o constante.
LOW_LIM Valor mínimo deseado de salida (OUT). Número REAL, doble palabra o constante.
BIPOLAR Si vale 0 (trabajamos con valores entre 0 y 27648). Entrada analógica de 0 a 10 V.
Si vale 1 (trabajamos con valores entre –27648 y +27648) Entrada analógica de
–10V a +10 V.
OUT Valor de salida escalado entre el valor máximo y mínimo. Formato REAL.
ENO Vale 0 si el valor de IN es superior o inferior al limite (-27648 o + 27648). En este caso, además
en OUT sale el valor máximo o el mínimo según 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 máximo o mínimo.
-En este caso, 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.
FC24
FC105
SCALE
1 EN ENO
PEW752 IN
RET_
VALUE
MW0
100.0 HI_LIM OUT MD10
0.0 LO_LIM
E124.0 BIPOLAR
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
Versión: 2.2
Página: 55/84
Fichero: Instrucciones avanzadas
UNIPOLAR
BIPOLAR
-Comprobar el funcionamiento de la función cuando activo el E124.0
0 V 5 V 10 V
0º PEW752 100º
SONDA DE TEMPERATURA
27648
PEW752
13824
0
0ºC 50ºC 100ºC
MD10
RESULTADO ESCALADO DE PEW752
27648
PEW752
13824
0
0ºC 50ºC 100ºC
MD10
+27648
PEW752
0
-27648
0- 10 V
PAW12
8
Sonda de
temperatura
0 a 100ºC
PEW752
PLC
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
Versión: 2.2
Página: 56/84
Fichero: Instrucciones avanzadas
E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA).
-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.. También podríamos desescalar cualquier otro registro que no sea una salida analógica.
Parámetros:
EN Cuando tengamos un 1 se ejecuta la función. Si hay un 0, la función es saltada.
IN Valor de entrada .Registro en formato REAL 32 bits.
HI_LIM Valor máximo deseado del valor de entrada (IN). Número REAL, doble palabra o constante
LOW_LIM Valor mínimo deseado del valor de entrada (IN) . Número REAL, doble palabra o constante
BIPOLAR Si vale 0, daremos valores de salida entre 0 y 27648). Salida analógica de 0 a 10 V
Si vale 1, daremos valores de salida entre –27648 y +27648) .Salida analógica 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, además en OUT sale el valor máximo o el mínimo según 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 máximo o mínimo.
-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 analógica
entre 0 y 27648, que a su vez hará que la salida analógica de una señal entre 0 y 10 Voltios..
FC25
FC 106
UNSCALE
1 EN ENO
MD10 IN RET_VALUE MW0
1500.0 HI_LIM OUT PAW752
0.0 LO_LIM
E124.0 BIPOLAR
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
Versión: 2.2
Página: 57/84
Fichero: Instrucciones avanzadas
-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 : Añadir a este ejercicio las líneas del ejercicio E2 colocando en los IN de la función 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 añade para decirle que ese valor es un número real.
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
Versión: 2.2
Página: 58/84
Fichero: Instrucciones avanzadas
E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA.
-Queremos tener una alarma de mínimo y una de máximo de una temperatura. La temperatura la lee la
entrada analógica PEW752.
-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.
-El E124.0 es el pulsador de enterado. Al accionarlo se borra la alarma de mínimo y de máximo
-Las alarmas de mínimo o máximo, 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, debo hacer una regla de tres y así deduzco que:
Tendré 90ºC cuando el valor en PEW752 sea de 24883.
Tendré 40ºC cuando el valor en PEW752 sea de 11059.
FC26
M1.0 A124.0
CMP>I
1
PEW752 IN1
24883 IN2
M1.1 A124.1
CMP<I
2
PEW752 IN1
11059 IN2
E124.0 A124.0
3
A124.1
R
R
P
SP
S
S
P
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
Versión: 2.2
Página: 59/84
Fichero: Instrucciones avanzadas
E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II).
-Queremos tener una alarma de mínimo y una de máximo de una temperatura. La temperatura la lee la
entrada analógica PEW752.
-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.
-El E124.0 es el pulsador de enterado. Al accionarlo se borra la alarma de mínimo y de máximo -Las
alarmas de mínimo o máximo, 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.
-En este caso, utilizando la función SCALE, ya tengo en MD10 en formato REAL el valor de la temperatura
que lee el PEW752, con lo cual puedo realizar la comparación 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 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).
FC27
SCALE
1 EN ENO
PEW752 IN RET_VALUE MW0
100.0 HI_LIM OUT MD10
0.0 LO_LIM
E0.0 BIPOLAR
M2.0 A124.0
CMP>R
2
MD10 IN1
MD20 IN2
M2.1 A124.1
CMP<R
3
MD10 IN1
MD30 IN2
SP
S
S
P
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
Versión: 2.2
Página: 60/84
Fichero: Instrucciones avanzadas
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 número entero y no
tiene cabida en una función de números reales.
E124.0 A124.0
4
A124.1
R
R
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
Versión: 2.2
Página: 61/84
Fichero: Instrucciones avanzadas
E17.1. GRABACIÓN DE UNA TABLA EN UN BLOQUES DE DATOS (DB). FUNCIÓN ATT.
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).
-Queremos que el valor que tenga la primera palabra de datos sea 10
DB10
Dirección Nombre Tipo Valor inicial Comentario
0.0 STRUCT
+0.0 Temperatura ARRAY[1..12]
*2.0 INT
=24.0 END_STRUCT
Ir a Ver Datos
Ir a Edición Inicializar bloques de datos poner valor 10 en valor actual de la palabra 0.0 Salvar
Dirección Nombre Tipo Valor inicial Valor
actual
Comentario
0.0 Temperatura[1] INT 0 10
2.0 Temperatura[2] INT 0 0
4.0 Temperatura[3] INT 0 0
6.0 Temperatura[4] INT 0 0
8.0 Temperatura[5] INT 0 0
10.0 Temperatura[6] INT 0 0
12.0 Temperatura[7] INT 0 0
14.0 Temperatura[8] INT 0 0
16.0 Temperatura[9] INT 0 0
18.0 Temperatura[10] INT 0 0
20.0 Temperatura[11] INT 0 0
22.0 Temperatura[12] INT 0 0
-La función ATT la encontraremos en:
-Librerías Standard library TI-S7 Converting Blocks FC84
-Funcionamiento:
En DATA, indicamos el dato que queremos grabar.
En TABLE, indicamos cual será el primer registro de esa tabla.
En ese primer registro, (poniéndole un valor) indicaremos el número de registros que podrá grabar esa
tabla.
En el segundo registro, se nos ira indicando el número 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 pusiéramos flanco, en este caso
en 10 scanes quedaría la tabla llena).
-Cuando el primer y el segundo registro de la tabla sean iguales (la tabla estará llena), ya no se grabara
ningún registro más.
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
Versión: 2.2
Página: 62/84
Fichero: Instrucciones avanzadas
DB10
DBW0 10
DBW2 2
DBW4 2378
DBW6 3512
DBW8 0
DBW10 0
DBW12 0
DBW14 0
DBW16 0
DBW18 0
DBW20 0
DBW22 0
-Cada vez que accione el E124.0, el valor que tenga en ese momento la entrada analógica 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 M0.0 ATT
1 EN ENO
PEW752 DATA
DB10.DBW0 TABLE
M255.4 A125.0
CMP==I
2
DB10.DBW0 IN1
DB10..DBW2 IN2
Número de registros de la tabla
Número de registros grabados
Primer registro grabado
P
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
Versión: 2.2
Página: 63/84
Fichero: Instrucciones avanzadas
E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO.
-La función LIFO la encontraremos en:
-Librerías Standard Library TI-S7 Converting Blocks FC87
-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
instrucción y al ejecutarla además ese valor será decrementado en 1.
La instrucción LIFO igual que la ATT debe ir siempre con flanco, en nuestro caso, 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.
FC29
E124.0 M0.0 ATT
1 EN ENO
PEW752 DATA
DB10.DBW0 TABLE
M255.4 A125.0
CMP==I
2
DB10.DBW0 IN1
DB10..DBW2 IN2
E124.1 M0.1 LIFO
3 EN ENO
DB10.DBW0 TABLE RET_VALUE MW10
P
P
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
Versión: 2.2
Página: 64/84
Fichero: Instrucciones avanzadas
E17.3. GRABACIÓN 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.
-Después de grabar el registro 10, empezaría a sobrescribir el 1, después el dos, etc.
-Con esto conseguiríamos tener siempre grabados los diez últimos datos.
FC30
E124.0 M0.0 ATT
1 EN ENO
PEW752 DATA
DB10.DBW0 TABLE
MOVE
CMP==I
2 EN ENO
DB10.DBW0 IN1
0 IN OUT DB10.DBW2
DB10..DBW2 IN2
P
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
Versión: 2.2
Página: 65/84
Fichero: Instrucciones avanzadas
E17.4. GRABACIÓN 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) Creación de un programa para borrar los datos
FC31
E124.0 M0.0 ATT
1 EN ENO
PEW752 DATA
DB10.DBW0 TABLE
E124.1 M0.1 MOVE
2 EN ENO
0 IN OUT DB10.DBW2
E124.1 ATT
3 EN ENO
W#16#0000 DATA
DB10.DBW0 TABLE
E124.1 M0.2 MOVE
4 EN ENO
0 IN OUT DB10.DBW2
B) Uso de una función de sistema para borrar la tabla.
-Borra los segmentos 2, 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.
E124.7 MOVE FILL
2 EN ENO EN ENO
MW20 BVAL RET_VAL MW30
0 IN OUT MW20
BLK P#DB10.DBW4 WORD 10
P
P
N
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
Versión: 2.2
Página: 66/84
Fichero: Instrucciones avanzadas
E17.5. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA.
-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.
-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.
DB11
Dirección Nombre Tipo Valor inicial Comentario
0.0 STRUCT
+0.0 Hora y minuto ARRAY[1..12] W#16#0
*2.0 WORD
=22.0 END_STRUCT
En el primer registro de la tabla, debemos indicar el número 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” “Datos”.
Ir a “Edición”” “Inicializar bloques de datos” poner valor W#16#000A en valor actual de la
palabra 0.0 Salvar
Dirección Nombre Tipo Valor inicial Valor
actual
Comentario
0.0 Hora y minuto[1] WORD W#16#0 W#16#A
2.0 Hora y minuto[2] WORD W#16#0 W#16#0
4.0 Hora y minuto[3] WORD W#16#0 W#16#0
6.0 Hora y minuto[4] WORD W#16#0 W#16#0
8.0 Hora y minuto[5} WORD W#16#0 W#16#0
10.0 Hora y minuto[6] WORD W#16#0 W#16#0
12.0 Hora y minuto[7] WORD W#16#0 W#16#0
14.0 Hora y minuto[8] WORD W#16#0 W#16#0
16.0 Hora y minuto[9] WORD W#16#0 W#16#0
18.0 Hora y minuto[10] WORD W#16#0 W#16#0
20.0 Hora y minuto[11] WORD W#16#0 W#16#0
22.0 Hora y minuto[12] WORD W#16#0 W#16#0
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
Versión: 2.2
Página: 67/84
Fichero: Instrucciones avanzadas
-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 M0.0 ATT
1 EN ENO
PEW752 DATA
DB10.DBW0 TABLE
ATT
EN ENO
DB6.DBW4 DATA
DB11.DBW0 TABLE
M255.4 A125.0
CMP==I
2
DB10.DBW0 IN1
DB10..DBW2 IN2
P
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
Versión: 2.2
Página: 68/84
Fichero: Instrucciones avanzadas
E18.1. EXPULSION DE BOTELLAS DEFECTUOSAS.
Se trata de extraer las botellas defectuosas de un proceso de colocación de etiquetas, 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, 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, realizar la extracción de la
misma mediante la actuación de un cilindro.
Dispositivo para
colocar etiqueta
a las botellas
Detector_Botella
[E124.3]
Detector_Etiqueta
[E124.2]
Botellas defectuosas
Botellas correctas
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 “+”.
E124.4 E124.5
SALIDAS.
A124.0: Activación cilindro a “+”.
A124.1: Activación cilindro a “-“.
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
Versión: 2.2
Página: 69/84
Fichero: Instrucciones avanzadas
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
Versión: 2.2
Página: 70/84
Fichero: Instrucciones avanzadas
E19.1. PROGRAMACIÓN 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 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.
• 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.
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.10.02, hora 12:54) Compilar y transferir el Hardware a la CPU.
2º Programar el OB10. (Realizar el programa que viene a continuación).
ADD_I
1 EN ENO
MW10 IN1 OUT MW10
1 IN2
Probar el ejercicio transfiriendo el OB10 y en la tabla de estado visualizar el valor de MW10 en decimal.
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
Versión: 2.2
Página: 71/84
Fichero: Instrucciones avanzadas
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), 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,
activamos o desactivamos la ejecución del OB10.
OB1
D_TOD_DT
EN ENO
D#2002-10-21 IN1 RET_VAL #hora empezar
TOD#15:23:45.0 IN2
SET_TINT
EN ENO
10 OB_NR RET_VAL MW0
#hora empezar SDT
W#16#201 PERIOD
E124.0 ACT_TINT
EN ENO
10 OB_NR RET_VAL MW2
4º Programar el OB10. (Realizar el programa que viene a continuación).
ADD_I
EN ENO
MW10 IN1 OUT MW10
1 IN2
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
Versión: 2.2
Página: 72/84
Fichero: Instrucciones avanzadas
E19.2. PROGRAMACIÓN DEL OB20.
• El OB20, permite interrumpir el OB 1 y ejecutarse después de un tiempo de demora determinado.
• 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.
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.
RET_VALUE Contiene el código del error si se produjera uno mientras se procesa el OB.
OB1
E124.0 M20.0 SRT_D_INT
EN ENO
20 OB_NR RET_VAL MW0
T#2S DTIME
W#16#1 SIGN
E124.1 A124.0
OB20
SET
= A124.0
Enviar el OB1 y el OB20 al PLC y comprobar el funcionamiento.
P
R
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
Versión: 2.2
Página: 73/84
Fichero: Instrucciones avanzadas
E19.3. PROGRAMACIÓN DEL OB35.
• El OB35, permite interrumpir la ejecución 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 ejecución del programa del OB35 es menor que el tiempo de
intervalo programado como repetición de la ejecución del OB35.
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), poner 125 ms Compilar y transferir el Hardware a la CPU.
OB35
ADD_I
EN ENO
MW10 IN1 OUT MW10
1 IN2
CMP==I MOVE
EN ENO
MW10 IN1
0 IN OUT MW10
256 IN2
Comprobar que con los bits 0 al 7 de MW10, hemos creado generadores de impulsos (MB11).
Si el tiempo de ejecución del OB35 es de 125 ms.
• El M11.0 será un generador de 0’25 S
• El M11.1 será un generador de 0’5 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.
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
Versión: 2.2
Página: 74/84
Fichero: Instrucciones avanzadas
E19.4. PROGRAMACIÓN DEL OB121.
-El sistema operativo de la CPU llama al OB 121 cuando aparece un error durante la ejecución del
programa.
-Cuando se produzca un error si en el autómata 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 autómata 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 información del módulo (descrita en segundo lugar).
A) Primera forma de chequear errores de programación.
OB121
MOVE
EN ENO
#OB121_SW_FLT IN OUT MB200
MOVE
EN ENO
#OB121_FLT_REG IN OUT MW202
MOVE
EN ENO
#OB121_BLK_TYPE IN OUT MB204
MOVE
EN 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
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
Versión: 2.2
Página: 75/84
Fichero: Instrucciones avanzadas
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, el número de DB esta dentro del área admisible
B#16#3C Acceso a un FC no cargado, el número de FC esta dentro del área admisible
B#16#3DAcceso a un SFC no cargado, el número de SFC esta dentro del área admisible
B#16#3E Acceso a un FB no cargado, el número de FB esta dentro del área admisible
B#16#3F Acceso a un SFB no cargado, 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).
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, e ir localizando los errores de
programación realizados.
OB1
E124.0 MOVE
EN ENO
DB1.DBW10 IN OUT MW6
DB2
E124.1 FB 80
EN ENO
E124.2 FC 34
EN ENO
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
Versión: 2.2
Página: 76/84
Fichero: Instrucciones avanzadas
E124.3 FC 100
EN ENO
FC34
E124.5 T1230
T12 A124.1
FC100
E124.7 A1240.6
E124.6 A124.7
DB1
Dirección Nombre Tipo Valor inicial Comentario
0.0 STRUCT
0.0 Primer_valor WORD W#16#0
2.0 Segundo_valor WORD W#16#0
4.0 Tercer_valor WORD W#16#0
=6.0 END_STRUCT
DB2
Dirección Nombre Tipo Valor inicial Comentario
0.0 STRUCT
0.0 Valor_tiempo_1 WORD W#16#0
2.0 Valor_tiempo_2 WORD W#16#0
4.0 Valor_tiempo_3 WORD W#16#0
=6.0 END_STRUCT
SA
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
Versión: 2.2
Página: 77/84
Fichero: Instrucciones avanzadas
B) Chequeo de los errores en el búfer de diagnóstico.. 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
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
Versión: 2.2
Página: 78/84
Fichero: Instrucciones avanzadas
-Activar la entrada E124.3 y comprobar en la tabla de variables los valores que me darán los datos del error
ocurrido.
-Ir a la información del módulo y comprobar el error ocurrido .
Infracción del
área al escribir.
Número erróneo
Tipo del módulo
donde está el error
(FC)
Número del módulo
donde está el error
(100)
Error ocurrido
Descripción del error
Clicar y se abrirá el
bloque y el segmento
donde esta el error
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
Versión: 2.2
Página: 79/84
Fichero: Instrucciones avanzadas
Localización del error
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
Versión: 2.2
Página: 80/84
Fichero: Instrucciones avanzadas
-Activar la entrada E124.0 y comprobar en la tabla de variables los valores que me darán los datos del error
ocurrido.
-Ir a la información del módulo y comprobar el error ocurrido .
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)
Error ocurrido
Descripción del error
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
Versión: 2.2
Página: 81/84
Fichero: Instrucciones avanzadas
-Activar la entrada E124.1 y comprobar en la tabla de variables los valores que me darán los datos del error
ocurrido.
-Ir a la información del módulo y comprobar el error ocurrido .
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)
Error ocurrido
Descripción del error
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
Versión: 2.2
Página: 82/84
Fichero: Instrucciones avanzadas
-Activar la entrada E124.2 y comprobar en la tabla de variables los valores que me darán los datos del error
ocurrido.
-Ir a la información del módulo y comprobar el error ocurrido .
Acceso a un FC
no cargado.
Número FC
Tipo del módulo
donde está el error
(OB)
Número del módulo
donde está el error
(1)
Error ocurrido
Descripción del error
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
Versión: 2.2
Página: 83/84
Fichero: Instrucciones avanzadas
-Transferir el FC34 al PLC y activar de nuevo la entrada E124.2 y comprobar en la tabla de variables los
valores que me darán los datos del error ocurrido.
-Ir a la información del módulo y comprobar el error ocurrido .
Error en dirección
de un temporizador
Número erróneo.
Tipo del módulo
donde está el error
(FC)
Número del módulo
donde está el error
(34)
Error ocurrido
Descripción del error

Más contenido relacionado

La actualidad más candente

Telecomunicaciones medios de transmision guiados
Telecomunicaciones  medios de transmision guiadosTelecomunicaciones  medios de transmision guiados
Telecomunicaciones medios de transmision guiadosLeón Leon
 
Cuadro comparativo de modulaciones
Cuadro comparativo de modulacionesCuadro comparativo de modulaciones
Cuadro comparativo de modulacionesFernando Luz
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.Fausto21
 
Ventajas y Desventajas Redes Infrarrojas
Ventajas y Desventajas Redes Infrarrojas Ventajas y Desventajas Redes Infrarrojas
Ventajas y Desventajas Redes Infrarrojas Carlos Estrada
 
Multiplexación por división de onda (wdm)
Multiplexación por división de onda (wdm)Multiplexación por división de onda (wdm)
Multiplexación por división de onda (wdm)Ángel Leonardo Torres
 
PROTOCOLO MODBUS
PROTOCOLO MODBUSPROTOCOLO MODBUS
PROTOCOLO MODBUSLuis Zurita
 
Determinantes de matrices elementales
Determinantes de matrices elementalesDeterminantes de matrices elementales
Determinantes de matrices elementalesalgebra
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosHumano Terricola
 
2 unidades de medidas en telecomunicaciones
2 unidades de medidas en telecomunicaciones2 unidades de medidas en telecomunicaciones
2 unidades de medidas en telecomunicacionesJoseBiafore
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 
Funcionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del RouterFuncionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del Routerutch
 
Presentacion Antenas Inteligentes
Presentacion Antenas InteligentesPresentacion Antenas Inteligentes
Presentacion Antenas Inteligentesalcajo2011
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 

La actualidad más candente (20)

Exposicion modbus rtu
Exposicion modbus rtuExposicion modbus rtu
Exposicion modbus rtu
 
Telecomunicaciones medios de transmision guiados
Telecomunicaciones  medios de transmision guiadosTelecomunicaciones  medios de transmision guiados
Telecomunicaciones medios de transmision guiados
 
Cuadro comparativo de modulaciones
Cuadro comparativo de modulacionesCuadro comparativo de modulaciones
Cuadro comparativo de modulaciones
 
Cuadro comparativo.
Cuadro comparativo.Cuadro comparativo.
Cuadro comparativo.
 
DISEÑO BRAZO ROBOT 5GDL
DISEÑO BRAZO ROBOT 5GDL DISEÑO BRAZO ROBOT 5GDL
DISEÑO BRAZO ROBOT 5GDL
 
Ventajas y Desventajas Redes Infrarrojas
Ventajas y Desventajas Redes Infrarrojas Ventajas y Desventajas Redes Infrarrojas
Ventajas y Desventajas Redes Infrarrojas
 
Multiplexación por división de onda (wdm)
Multiplexación por división de onda (wdm)Multiplexación por división de onda (wdm)
Multiplexación por división de onda (wdm)
 
1 modulación psk
1 modulación psk1 modulación psk
1 modulación psk
 
PROTOCOLO MODBUS
PROTOCOLO MODBUSPROTOCOLO MODBUS
PROTOCOLO MODBUS
 
Determinantes de matrices elementales
Determinantes de matrices elementalesDeterminantes de matrices elementales
Determinantes de matrices elementales
 
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitosPortafolio lenguajes y automatas unidad 3 - Autómatas finitos
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
 
2 unidades de medidas en telecomunicaciones
2 unidades de medidas en telecomunicaciones2 unidades de medidas en telecomunicaciones
2 unidades de medidas en telecomunicaciones
 
Bandas ISM
Bandas ISMBandas ISM
Bandas ISM
 
Conexiones del PIC16F887
Conexiones del PIC16F887Conexiones del PIC16F887
Conexiones del PIC16F887
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 
Funcionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del RouterFuncionamiento Del Switch Y Del Router
Funcionamiento Del Switch Y Del Router
 
Tipos de multiplexacion
Tipos de multiplexacionTipos de multiplexacion
Tipos de multiplexacion
 
Presentacion Antenas Inteligentes
Presentacion Antenas InteligentesPresentacion Antenas Inteligentes
Presentacion Antenas Inteligentes
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetes
 
Exposicion profibus fms final
Exposicion profibus fms finalExposicion profibus fms final
Exposicion profibus fms final
 

Destacado

Teoria s7 300-basico
Teoria s7 300-basicoTeoria s7 300-basico
Teoria s7 300-basicoGerardo Moya
 
Regulación pid en siemens
Regulación pid en siemensRegulación pid en siemens
Regulación pid en siemensvanatoru
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Guido Carmona Girón
 
Simatic s7 300 caracteristicas
Simatic s7 300 caracteristicasSimatic s7 300 caracteristicas
Simatic s7 300 caracteristicastechonmyweb
 
STEP 7 Funciones y operaciones
STEP 7 Funciones y operaciones STEP 7 Funciones y operaciones
STEP 7 Funciones y operaciones techonmyweb
 

Destacado (8)

Teoria s7 300-basico
Teoria s7 300-basicoTeoria s7 300-basico
Teoria s7 300-basico
 
Regulación pid en siemens
Regulación pid en siemensRegulación pid en siemens
Regulación pid en siemens
 
S7300 basico
S7300 basicoS7300 basico
S7300 basico
 
Rede profibus
Rede profibusRede profibus
Rede profibus
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7
 
Step 7 avanzado
Step 7 avanzadoStep 7 avanzado
Step 7 avanzado
 
Simatic s7 300 caracteristicas
Simatic s7 300 caracteristicasSimatic s7 300 caracteristicas
Simatic s7 300 caracteristicas
 
STEP 7 Funciones y operaciones
STEP 7 Funciones y operaciones STEP 7 Funciones y operaciones
STEP 7 Funciones y operaciones
 

Similar a Programación avanzada S7-300

Unidad didáctica 2
Unidad didáctica 2Unidad didáctica 2
Unidad didáctica 2sara garcia
 
8. Programacion del PLC S7300 SIEMENS.pdf
8. Programacion del PLC S7300 SIEMENS.pdf8. Programacion del PLC S7300 SIEMENS.pdf
8. Programacion del PLC S7300 SIEMENS.pdfMarioHaguila
 
Matriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en LinuxMatriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en LinuxSNPP
 
Microcontroladores: Construcción de un control de una cartelera digital para ...
Microcontroladores: Construcción de un control de una cartelera digital para ...Microcontroladores: Construcción de un control de una cartelera digital para ...
Microcontroladores: Construcción de un control de una cartelera digital para ...SANTIAGO PABLO ALBERTO
 
Tecnicas de programacion.8951
Tecnicas de programacion.8951Tecnicas de programacion.8951
Tecnicas de programacion.8951Ruderocker Billy
 
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...PREMIUMEDITORIAL
 
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...PREMIUMEDITORIAL
 
Unidad 2 tarea 3 - 301302 58
Unidad 2   tarea 3 - 301302 58Unidad 2   tarea 3 - 301302 58
Unidad 2 tarea 3 - 301302 58ssuser8e97dc1
 

Similar a Programación avanzada S7-300 (20)

Unidad didáctica 2
Unidad didáctica 2Unidad didáctica 2
Unidad didáctica 2
 
Unidad didáctica 2
Unidad didáctica 2Unidad didáctica 2
Unidad didáctica 2
 
8. Programacion del PLC S7300 SIEMENS.pdf
8. Programacion del PLC S7300 SIEMENS.pdf8. Programacion del PLC S7300 SIEMENS.pdf
8. Programacion del PLC S7300 SIEMENS.pdf
 
Unidad didáctica 2
Unidad didáctica 2Unidad didáctica 2
Unidad didáctica 2
 
SISTEMAS DE NUMERACIÓN
SISTEMAS DE NUMERACIÓN SISTEMAS DE NUMERACIÓN
SISTEMAS DE NUMERACIÓN
 
Matriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en LinuxMatriz de LEDs + Interfaz Grafica con GTK en Linux
Matriz de LEDs + Interfaz Grafica con GTK en Linux
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Vba excel mnumericos
Vba excel mnumericosVba excel mnumericos
Vba excel mnumericos
 
Microcontroladores: Construcción de un control de una cartelera digital para ...
Microcontroladores: Construcción de un control de una cartelera digital para ...Microcontroladores: Construcción de un control de una cartelera digital para ...
Microcontroladores: Construcción de un control de una cartelera digital para ...
 
Manual r 1
Manual r 1Manual r 1
Manual r 1
 
Tecnicas de programacion.8951
Tecnicas de programacion.8951Tecnicas de programacion.8951
Tecnicas de programacion.8951
 
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
 
Apunte c a_bajo_nivel
Apunte c a_bajo_nivelApunte c a_bajo_nivel
Apunte c a_bajo_nivel
 
Unidad didáctica 2
Unidad didáctica 2Unidad didáctica 2
Unidad didáctica 2
 
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
Resolución de problemas de electrónica de potencia haciendo uso de métodos nu...
 
Unidad 2 tarea 3 - 301302 58
Unidad 2   tarea 3 - 301302 58Unidad 2   tarea 3 - 301302 58
Unidad 2 tarea 3 - 301302 58
 
Unidad didactica 2
Unidad didactica 2Unidad didactica 2
Unidad didactica 2
 
Unidad didactica 2
Unidad didactica 2Unidad didactica 2
Unidad didactica 2
 
Ies valentin turienzo
Ies valentin turienzo Ies valentin turienzo
Ies valentin turienzo
 
Unidad didáctica 2.
Unidad didáctica 2.Unidad didáctica 2.
Unidad didáctica 2.
 

Último

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (13)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Programación avanzada S7-300

  • 1. 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
  • 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 Versión: 2.2 Página: 1/84 Fichero: Instrucciones avanzadas 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
  • 3. 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 Versión: 2.2 Página: 2/84 Fichero: Instrucciones avanzadas INDICE: CONCEPTOS BÁSICOS NIVEL 1 1 SISTEMAS DE NUMERACION......................................................................................................... 4 2 MÓDULOS DE ORGANIZACIÓN...................................................................................................... 7 3 BLOQUES DE FUNCIÓN ................................................................................................................. 9 4 MÓDULOS DE DATOS.................................................................................................................... 10 5 ACUMULADORES............................................................................................................................ 11 E6.1. FUNCION MOVER (TRANSFERENCIA)...................................................................................... 12 E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA)................................................ 13 E7.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR........ 15 E7.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES................. 16 E8.1. PRESELECCIÓN VARIABLE DEL VALOR DE UN CONTADOR. .............................................. 18 E8.2. INSTRUCCIONES DE COMPARACIÓN...................................................................................... 20 E8.3. CONTROL DE INICIO DE LA MARCHA DE UN PROCESO........................................................ 22 E8.4. CLAVE PARA ABRIR UNA CERRADURA.................................................................................... 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.................................. 27 E10.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN VARIABLE. BASE DE TIEMPOS FIJA................................................................................................................... 29 E10.3. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA)................................ 30 E10.4. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN....................................... 32 E10.5. CREACIÓN DE UN CONTADOR DE TIEMPOS............................................................................. 33 E10.6. OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE.................................... 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................. 38 E12.2. CREACIÓN DE UNA PLANTILLA CON NÚMEROS REALES.................................................... 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
  • 4. 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 Versión: 2.2 Página: 3/84 Fichero: Instrucciones avanzadas 16. TRATAMIENTO DE SEÑALES ANALÓGICAS. E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA)..................................................... 54 E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA)........................................... 56 E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA.............................. ........ 58 E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II)................................. 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.......................... 61 E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO....................................... 63 E17.3. GRABACIÓN DE UNA TABLA DE DATOS (II). SOBREESCRIBIR DATOS................................. 65 E17.4. GRABACIÓN DE UNA TABLA DE DATOS (III). BORRADO DE DATOS. FUNCIÓN FILL........... 66 E17.5. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA........................................ 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....................................................................................................... 70 E19.2. PROGRAMACIÓN DEL OB20....................................................................................................... 72 E19.3. PROGRAMACIÓN DEL OB35....................................................................................................... 73 E19.4. PROGRAMACIÓN DEL OB121..................................................................................................... 74
  • 5. 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 Versión: 2.2 Página: 4/84 Fichero: Instrucciones avanzadas 1. SISTEMAS DE NUMERACION. SISTEMA DECIMAL En un sistema decimal, nos encontramos que cada dígito puede tener los siguientes valores: 0 1 2 3 4 5 6 7 8 9 Calculo del valor decimal: -Tenemos por ejemplo el valor 7632 Su valor decimal será: 3 2 1 0 7x10 + 6x10 + 3x10 + 2x10 7x1000 + 6x100 + 3x10 +2 = 7632 SISTEMA BINARIO En un sistema binario, 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á: 5 4 3 2 1 0 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 + 1 x 2 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á: 7 6 5 4 3 2 1 0 1 x 2 + 0 x 2 + 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 + 1 x 2 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 trabajáramos con una palabra, 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, sino será positivo. 128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 + = 173 El valor real será -1 (valor de bit 7) * 256 + 173 = - 83 El número binario 10101101 equivale al número decimal con signo - 83 3 3 3
  • 6. 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 Versión: 2.2 Página: 5/84 Fichero: Instrucciones avanzadas Calculo del valor binario de un número decimal: -Tenemos por ejemplo el número decimal 13 Su valor binario será: 13 2 1 6 2 0 3 2 1 1 2 1 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, 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á: 2 1 0 3 x 16 + A(10) x 16 + 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á: 3512 16 R 8 219 16 R 1 13 16 R 13(D) 0 D 1 8 3 3 3
  • 7. 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 Versión: 2.2 Página: 6/84 Fichero: Instrucciones avanzadas El número decimal 3512 equivale al número hexadecimal D 1 8 Calculo del valor hexadecimal de un número binario: -Tenemos por ejemplo el número binario 1101 0110 0011 1001 Su valor hexadecimal será: 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 13(D) 6 3 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á: E 5 7 A 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 0 El número binario hexadecimal E57A equivale al número binario 1110 0101 0111 1010 CODIGO BCD En un código BCD, nos encontramos con lo que se llama binario codificado decimal. 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, su valor decimal es: 150 7 6 5 4 3 2 1 0 1 x 2 + 0 x 2 + 0 x 2 + 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 = 150 *si lo tomamos como número BCD, su valor decimal es: 96 10 0 1 0 1 1 0 9 6 3 3 3
  • 8. 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 Versión: 2.2 Página: 7/84 Fichero: Instrucciones avanzadas 2. MÓDULOS DE ORGANIZACIÓN. Características de los módulos OB. OB1 Es un módulo que se ejecuta cíclicamente • El OB1 se ejecuta en cada scan. • Es el que tiene la prioridad más baja OB10 a OB17 Realiza una interrupción horaria. • Empieza en un momento programado • Se ejecuta a partir de ese momento cada cierto tiempo: • Una sola vez, cada minuto, cada hora, cada día, cada semana, cada mes, cada año, a final de mes OB20 a OB23 Realiza una interrupción 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 5 s 7 • OB 31 2 s 8 • OB 32 1 s 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 . (entradas analógicas, contadores de alta velocidad etc...) OB80 a OB87 Error Asíncrono. • OB80Error de tiempo (Tiempo de ciclo excedido). Si no esta programado y detecta el error, 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. 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, el PLC pasa a STOP • OB84 Avería 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
  • 9. 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 Versión: 2.2 Página: 8/84 Fichero: Instrucciones avanzadas • OB85Evento de arranque para un OB no cargado. Si no esta programado y detecta el error, el PLC pasa a STOP. • OB86Detección de fallo en un bastidor. Si no esta programado y detecta el error, el PLC pasa a STOP. • OB87Detección de fallo en comunicación. OB100 a 0B102 OBS de modo de arranque (solo puede estar activado uno de ellos). Se selecciona en Administrador- Hardware--- CPU (picar dos veces) pestaña ‘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 después el OB1 (empezando por la primera instrucción). OB101 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 después sigue leyendo en el punto donde dejo de leer al pasar al estado STOP. OB102 Arranque en frío •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 después el OB1 (empezando por la primera instrucción). OB121 y OB122OBs de error OB121 Error de ejecución de programa. •Detecta errores de programación. •Si no esta programado y detecta el error, el PLC pasa a STOP. OB122 Error al intentar acceder a un módulo de datos (entradas, salidas, etc...). • Si no esta programado y detecta el error, el PLC pasa a STOP.
  • 10. 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 Versión: 2.2 Página: 9/84 Fichero: Instrucciones avanzadas 3. BLOQUES DE FUNCIÓN. Las Funciones, son módulos que se ejecutan al ser llamados desde otros módulos. • Cuando se les llama, la función actúa como una subrutina del programa. • Cuando termina de ejecutar el módulo, el programa retorna al módulo desde donde fue llamado, en la instrucción posterior al salto. Hay dos tipos de funciones: • Funciones sin parámetros. • Funciones parametrizables (Plantillas). 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). • En el módulo de datos (DB) se mantiene una copia de los parámetros que van al área de datos locales. • Después de la ejecución del FB, se borra el área de memoria local, pero el DB asociado, mantiene los valores. OB1 DB10 FB1 Tipo de declaración dentro de un módulo: IN Parámetros de entrada de los que se lee. OUT Parámetros de salida en los que se puede escribir. IN_OUT Parámetros que pueden ser leídos 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 declaración local, menos los temporales, se almacenan en un bloque de datos (DB de Instancia). PROGRAMA CALL FB1, DB10 PROGRAMA Copia de la parte de declaración local del FB1 Area de declaración local PROGRAMA
  • 11. 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 Versión: 2.2 Página: 10/84 Fichero: Instrucciones avanzadas 4 MÓDULOS DE DATOS. Los módulos de datos, son áreas de memoria de la CPU que se utilizan para almacenar datos. • Los DB mantienen su valor ante un corte de tensión, siempre que tengamos la pila tampón de respaldo. En caso de no tener pila, solo mantendrán 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 módulos de datos: -Módulos de datos globales • Los módulos de datos globales, pueden ser utilizados por todos los módulos 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 módulo OPN DB (en KOP) o AUF DB (en AWL). • Los datos permanecen almacenados en el DB aunque se cierre el DB. -Módulos de datos de instancia: • Un DB de instancia, 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. • UN DB de instancia no necesita abrirse con ninguna instrucción, se abre se lee y se escribe en el de forma automática. • Al empezar a leer el bloque de función, se carga del DB una copia de las variables locales en el bloque de función, se ejecuta el bloque y cuando acaba, deposita el valor actual de las variables locales en el DB de instancia.
  • 12. 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 Versión: 2.2 Página: 11/84 Fichero: Instrucciones avanzadas 5. ACUMULADORES. Los acumuladores son registros auxiliares en la CPU que se utilizan para el intercambio de datos, operaciones de comparación y operaciones aritméticas. El S7-300 tiene dos acumuladores de 32 bits y el S7-400 tiene cuatro. Carga: (L) La operación 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 operación de transferencia solo transfiere el valor que haya en ACCU1 y el ACCU1 queda invariable. (Copia el valor del ACCU1 en un registro). Manipulación 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 0 0 0 0 0 0 0 0 0 0 0 0 EB0 L EB0 31 24 23 16 15 8 7 0 ACCU1 0 0 0 0 0 0 0 0 EB0 EB1 L EW0 31 24 23 16 15 8 7 0 ACCU1 MB0 MB1 MB2 MB3 L MD0 31 24 23 16 15 8 7 0 ACCU1 MB0 MB1 MB2 MB3 T AB0 T AB0 ACCU1 MB0 MB1 MB2 MB3 T AW0 T AW0 ACCU1 MB0 MB1 MB2 MB3 T AD0 T AD0
  • 13. 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 Versión: 2.2 Página: 12/84 Fichero: Instrucciones avanzadas E6.1. FUNCION MOVER (TRANSFERENCIA). -La función 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 función se ejecuta sin errores. -Si tenemos un 0 en la entrada EN la función 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 1011100111001010 AW124 FC1 E126.0 MOVE EN ENO EW124 IN OUT AW124 Programación en AWL U E 126.0 SPBNB _001 L EW 124 T AW 124 _001: NOP 0
  • 14. 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 Versión: 2.2 Página: 13/84 Fichero: Instrucciones avanzadas E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA). -En este caso queremos enviar diferentes constantes a una misma palabra. -PAW752 es una salida analógica que trabajara entre valores 0 y 27648. Con esos valores, 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. -En este caso tengo seis pulsadores del E124.0 al E124.5. Accionando los pulsadores en orden ascendente queremos que la salida analógica nos de valores de 0, 2, 4, 6, 8 y 10 voltios. -Cuando accione la entrada E124.6, 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, calculo las siguientes correspondencias: Valor en PAW752 Voltios en salida 0 0 V 5529 2 V 11058 4 V 16578 6 V 22118 8 V 27648 10 V FC2 E124.0 MOVE 1 EN ENO 0 IN OUT PAW752 E124.1 MOVE 2 EN ENO 5529 IN OUT PAW752 E124.2 MOVE 3 EN ENO 11058 IN OUT PAW752 E124.3 MOVE 4 EN ENO 16578 IN OUT PAW752
  • 15. 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 Versión: 2.2 Página: 14/84 Fichero: Instrucciones avanzadas E124.4 MOVE 5 EN ENO 22118 IN OUT PAW752 E124.5 MOVE 6 EN ENO 27648 IN OUT PAW752 E124.6 MOVE 6 EN ENO PEW752 IN OUT PAW752 Nota: Probar que ocurre cuando acciono dos pulsadores al mismo tiempo. -Indicar que solución puedo tomar para que el ultimo valor activo sea el efectivo. -Una vez probado el ejercicio, calcular los valores que tendríamos que enviar para tener 1, 3, 5, 7 y 9 voltios de salida en PAW752.
  • 16. 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 Versión: 2.2 Página: 15/84 Fichero: Instrucciones avanzadas E7.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR. -Realizaremos la preselección de un temporizador con un valor variable. Cada vez que accionemos el E124.0, el temporizador cogerá como preselección 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 MB0 MB1 0010 0011 1001 0101 = W#16#2395 Base T. Centenas Decenas Unidades La base de tiempos es: 3 Valor X 10 seg. 2 Valor X 1 seg. 1 Valor X 0’1 seg. 0 Valor X 0’01 seg. En nuestro caso, Base Tiempos = 2 1 Segundo x 395 = 395 segundos -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 T1 E124.0 S_EVERZ A124.0 1 S Q MW0 TW DUAL MW2 R DEZ MW4 Nota: Cuando se coloca un tiempo en formato S5T (Tiempo Simatic), ajusta automáticamente el valor a 3 dígitos 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 dígitos 0 al 2 y comprobar que tiempo Simatic coge.
  • 17. 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 Versión: 2.2 Página: 16/84 Fichero: Instrucciones avanzadas E7.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES. -Tenemos un proceso de llenado de botes. Hay tres tamaños de botes. Para llenar el bote pequeño, la electro válvula (A124.0) debe funcionar 3 segundos. Para llenar el bote mediano, la electro válvula (A124.0) debe funcionar 8 segundos. Para llenar el bote grande, la electro válvula (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 MOVE 1 EN ENO S5T#3S IN OUT MW0 E124.1 MOVE 2 EN ENO S5T#8S IN OUT MW0 E124.2 MOVE 3 EN ENO S5T#15S IN OUT MW0 E124.0 A124.1 T1 4 MW0 E124.1 E124.2 T1 A124.1 5 SV
  • 18. 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 Versión: 2.2 Página: 17/84 Fichero: Instrucciones avanzadas A124.1 P M G
  • 19. 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 Versión: 2.2 Página: 18/84 Fichero: Instrucciones avanzadas E8.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN 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 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). Una vez hecho esto accionara el pulsador E124.1 que cargara el valor de preselección, 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 lámpara A124.7. -El operario retira entonces la caja llena, pone una caja vacía y repite el proceso (Pone la nueva preselección en MW0 y acciona de nuevo el pulsador E124.1 con lo cual el ciclo comienza de nuevo. FC5 E124.7 E124.0 Z1 E124.1 E124.0 Z1 MW0 Z1 E124.0 A124.0 Z1 M255.5 E124.0 A124.7 ZR SZ E124.7 A124.0 A124.7 E124.1 E124.0
  • 20. 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 Versión: 2.2 Página: 19/84 Fichero: Instrucciones avanzadas
  • 21. 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 Versión: 2.2 Página: 20/84 Fichero: Instrucciones avanzadas E8.2. INSTRUCCIONES DE COMPARACIÓN. -Tenemos tres tipos de comparadores, según el formato a comparar: • Comparación entre dos números enteros. Formato INT 16 bits. • Comparación entre dos números de dobles enteros. Formato DINT 32 bits. • Comparación entre dos números reales. Formato REAL 32 bits. -Hay seis tipos de comparadores según su condición de comparación: • 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, actúa como un contacto en el que habrá un 1 cuando se cumpla la comparación. FC6 AWL E124.0 A124.0 CMP==I 1 MW0 IN1 MW2 IN2 E124.1 A124.1 CMP<>I 2 MW0 IN1 MW2 IN2 E124.2 A124.2 CMP>I 3 MW0 IN1 MW2 IN2 E124.3 A124.3 CMP<I 4 MW0 IN1 MW2 IN2
  • 22. 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 Versión: 2.2 Página: 21/84 Fichero: Instrucciones avanzadas E124.4 A124.4 CMP>=I 5 MW0 IN1 MW2 IN2 E124.5 A124.5 CMP<=I 6 MW0 IN1 MW2 IN2 Si queremos realizar una comparación de un Byte o de números en formato hexadecimal, 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.7 -Queremos que cuando el valor del EB126 sea igual a 73 se desactive la salida A124.7 Programación en AWL L EW 124 L W#16#2A4D ==I S A 124.7 L EB 126 L 73 ==I R A 124.7
  • 23. 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 Versión: 2.2 Página: 22/84 Fichero: Instrucciones avanzadas 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, implicaría la colocación de 16 contactos en serie con el elemento a activar. -Resuelto con un comparador, se realizaría de la siguiente manera: Estado que deben tener las entradas al poner en marcha el proceso: EB124 EB125 .7 .6 .5 .4 .3 .2 .1 .0 .7 .6 .5 .4 .3 .2 .1 .0 EW124 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 El estado de las entradas en reposo, corresponde al valor decimal EW124= -22163 IMPORTANTE: Si queremos programar el comparador con números 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 A124.0 CMP==I 1 EW124 IN1 -22163 IN2 E126.1 A124.0 E126.0 M255.2 A124.7 CMP<>I 2 EW124 IN1 -22163 IN2 A124.0 R S
  • 24. 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 Versión: 2.2 Página: 23/84 Fichero: Instrucciones avanzadas
  • 25. 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 Versión: 2.2 Página: 24/84 Fichero: Instrucciones avanzadas 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 preselección 3 en el contador 1. -Ejercicio: Hacer el programa necesario para que una vez marque algún fallo demos un tiempo de 15 segundos para abrir la cerradura, en caso de no hacerlo, debe de activarse la alarma. OB100 E0.0 Z1 1 C#3 FC8 E124.0 Z1 A124.0 CMP==I 1 MW0 IN1 1234 IN2 A124.0 T1 2 S5T#5S T1 MOVE A124.0 3 EN ENO 0 IN OUT MW0 E124.0 M2.0 Z1 CMP<>I 4 MW0 IN1 1234 IN2 R S SE P ZR SZ
  • 26. 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 Versión: 2.2 Página: 25/84 Fichero: Instrucciones avanzadas E124.0 Z1 CMP==I 5 C#3 MW0 IN1 9999 IN2 A124.0 Z1 M255.3 A124.7 6 SZSZ
  • 27. 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 Versión: 2.2 Página: 26/84 Fichero: Instrucciones avanzadas E9.1. SELECCIÓN 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 solución 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
  • 28. 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 Versión: 2.2 Página: 27/84 Fichero: Instrucciones avanzadas E10.1. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS. -Operación serie entre palabras WAND_W. 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. E124.0=1 IN1 1011100111001010 MW0 IN2 1101110010110111 MW2 OUT 1001100010000010 MW4 FC9 E124.0 WAND_W 1 EN ENO MW0 IN1 OUT MW4 MW2 IN2 -Operación paralelo entre palabras WOR_W. La función WOR__W coge los 16 bits de IN1 y los 16 bits de IN2, 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. E124.1=1 IN1 1011100111001010 MW0 IN2 1101110010110111 MW2 OUT 1111110111111111 MW4 E124.1 WOR_W 2 EN ENO MW0 IN1 OUT MW4 MW2 IN2 SERIE RESULTADO PARALELO RESULTADO
  • 29. 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 Versión: 2.2 Página: 28/84 Fichero: Instrucciones avanzadas -Operación OR exclusiva entre palabras WXOR_W. 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). E124.2=1 IN1 1011100111001010 MW0 IN2 1101110010110111 MW2 OUT 0110 010101111101 MW4 E124.2 WXOR_W 3 EN ENO MW0 IN1 OUT MW4 MW2 IN2 OR EXCLUSIVA RESULTADO
  • 30. 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 Versión: 2.2 Página: 29/84 Fichero: Instrucciones avanzadas E10.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN VARIABLE. BASE DE TIEMPOS FIJA. -Tendríamos un terminal de operador o un SCADA donde pondríamos el valor al MW0. Cuando accionemos el E124.4, el temporizador se activara con MW10 como valor de preselección (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 después haremos una función 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 programación) aunque sea vacío y hay un error, el PLC no se ira a STOP aunque indicara con el leed SF que hay un error. FC10 E124.4 WAND_W WOR_W 1 EN ENO EN ENO MW10 IN1 MW0 IN1 OUT MW0 MW0 W#16#0FFF IN2 W#16#2000 IN2 T2 E124.4 S_EVERZ A124.2 2 S Q MW0 TW DUAL R DEZ
  • 31. 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 Versión: 2.2 Página: 30/84 Fichero: Instrucciones avanzadas E10.3. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA). - (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). - (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. (OUT= IN1-IN2). - (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. (OUT= IN1*IN2). - (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). -La función MOD, recupera el resto de esa división (solo en dobles palabras). -En cualquier de estas cuatro operaciones, 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). -El resultado obtenido en OUT NO será valido. -En ENO tendré un 0. 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, indicaría que lo hay) en cambio el OV se actualiza en cada operación. FC11 E124.0 ADD_I 1 EN ENO MW0 IN1 OUT MW4 MW2 IN2 OV M255.3 A124.0 E124.1 SUB_I 2 EN ENO MW0 IN1 OUT MW4 MW2 IN2 OV M255.3 A124.1
  • 32. 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 Versión: 2.2 Página: 31/84 Fichero: Instrucciones avanzadas E124.2 MUL_I 3 EN ENO MW0 IN1 OUT MW4 MW2 IN2 OV M255.3 A124.2 E124.3 DIV_I 4 EN ENO MW0 IN1 OUT MW4 MW2 IN2 OV M255.3 A124.3
  • 33. 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 Versión: 2.2 Página: 32/84 Fichero: Instrucciones avanzadas E10.4. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN. -La creación de este contador con preselección tiene algunas ventajas respecto al contador normal. -Con un contador normal (Z1) puedo contar como máximo 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 más fácil de leer en un sistema SCADA ya que tendremos el valor directamente en decimal. -Si le pongo como preselección una variable, esta también podrá ser un número 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 preselección de ese “contador”. 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. Cargar el OB100 el valor de 4 (para iniciar). FC12 E124.0 M2.0 ADD_I ENO1 MW0 IN1 OUT MW0 1 IN2 E124.1 M2.1 SUB_I ENO2 MW0 IN1 OUT MW0 1 IN2 E124.2 MOVE 3 EN ENO 0 IN OUT MW0 A124.4 CMP>=I 4 MW0 IN1 10 IN2 P P
  • 34. 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 Versión: 2.2 Página: 33/84 Fichero: Instrucciones avanzadas E10.5. CREACIÓN DE UN CONTADOR DE TIEMPOS. -Mediante un generador de impulsos y una operación 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 A124.0 1 E124.1 A124.0 2 A124.0 M255.5 M10.0 ADD_I ENO3 MW0 IN1 OUT MW0 1 IN2 CMP==I ADD_:I MOVE 4 ENO IN ENO MW0 IN1 MW2 IN1 OUT MW2 3600 IN2 1 IN2 0 IN OUT MW0 E124.2 MOVE 5 EN ENO 0 IN OUT MW0 MOVE EN ENO 0 IN OUT MW2 M255.5 A124.7 CMP > I 6 MW2 IN1 5000 IN2 P S R
  • 35. 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 Versión: 2.2 Página: 34/84 Fichero: Instrucciones avanzadas 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.
  • 36. 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 Versión: 2.2 Página: 35/84 Fichero: Instrucciones avanzadas E10.6. OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE. - (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. (OUT= IN1+IN2). - (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. (OUT= IN1-IN2). - (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). - (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. (OUT= IN1/IN2). - (Segmento 5)Raíz cuadrada: SQRT realiza la raíz cuadrada de IN 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. FC14 E124.0 ADD_R 1 EN ENO MD0 IN1 OUT MD8 MD4 IN2 E124.1 SUB_R 2 EN ENO MD0 IN1 OUT MD8 MD4 IN2 E124.2 MUL_R 3 EN ENO MD0 IN1 OUT MD8 MD4 IN2 E124.3 DIV_R 4 EN ENO MD0 IN1 OUT MD8 MD4 IN2
  • 37. 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 Versión: 2.2 Página: 36/84 Fichero: Instrucciones avanzadas E124.4 SQRT 5 EN ENO MD0 IN OUT MD8 E124.5 SQR 6 EN ENO MD0 IN OUT MD8 E124.6 ABS 7 EN ENO MD0 IN OUT MD8
  • 38. 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 Versión: 2.2 Página: 37/84 Fichero: Instrucciones avanzadas E11.1. DIFERENTES MÉTODOS DE INCREMENTAR Y DECREMENTAR. Se trata de realizar un circuito que responda al funcionamiento expresador en la siguiente figura: Una posible solución 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 FC1 L MB20 INC 1 T MB20 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 E0.1 FP M0.1 CC FC2 FC2 L MB20 DEC 1 T MB20
  • 39. 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 Versión: 2.2 Página: 38/84 Fichero: Instrucciones avanzadas E12.1. CREACIÓN 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 podríamos cambiar desde un terminal de operador o un sistema SCADA. -En el segmento usamos la plantilla con un tiempo fijo de 1 segundo de conexión y 2 segundos de desconexión. Para crear la plantilla, debemos de rellenar la tabla de declaración de variables y definir estas. Declaración Nombre Tipo Comentario In TIEMPO_OFF S5TIME In TIEMPO_ON S5TIME In T1 TIMER In T2 TIMER Out GENERADOR BOOL FC15 #T2 #T1 #TIEMPO_OFF #T1 #T2 #TIEMPO_ON #T1 #GENERADOR OB1 FC15 1 EN ENO MW0 TIEMPO_OFF GENERA DOR M10.0 MW2 TIEMPO_ON T10 T1 T11 T2 E124.0 M10.0 A124.0 2 SE SE
  • 40. 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 Versión: 2.2 Página: 39/84 Fichero: Instrucciones avanzadas FC15 3 EN ENO S5T#2S TIEMPO_OFF GENERA DOR M10.1 S5T#1S TIEMPO_ON T12 T1 T13 T2 E124.1 M10.1 A124.0 4
  • 41. 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 Versión: 2.2 Página: 40/84 Fichero: Instrucciones avanzadas E12.2. CREACIÓN DE UNA PLANTILLA CON NÚMEROS 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 declaración de variables y definir estas. Declaración Nombre Tipo Comentario In Tanto por ciento REAL In Valor REAL Out Resultado REAL In_out temp Auxiliar REAL FC16 MUL_R DIV_R 1 EN ENO EN ENO #Tanto por ciento IN1 #Auxiliar IN1 OUT #Auxiliar OUT #Resultado #Valor IN2 100.0 IN2 Usaremos la plantilla tantas veces como nos sea necesario OB1 E124.1 FC16 1 EN ENO MD0 Tanto por Ciento Resultado MD8 MD4 Valor E124.2 FC16 2 EN ENO MD20 Tanto por Ciento Resultado MD28 MD24 Valor
  • 42. 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 Versión: 2.2 Página: 41/84 Fichero: Instrucciones avanzadas Nota: Proteger la plantilla para que no se pueda abrir (KNOW_HOW_PROTECT)
  • 43. 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 Versión: 2.2 Página: 42/84 Fichero: Instrucciones avanzadas E13.1. DIRECCIONAMIENTO INDIRECTO DE REGISTROS. -Mediante el direccionamiento indirecto podemos direccionar diferentes módulos 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 número ha de ser siempre 0 y se expresa P# X. 0 (Donde X indicara el número 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.
  • 44. 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 Versión: 2.2 Página: 43/84 Fichero: Instrucciones avanzadas 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 iría 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.
  • 45. 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 Versión: 2.2 Página: 44/84 Fichero: Instrucciones avanzadas E14.1. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB). -Tenemos un proceso idéntico 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 válvula), la cantidad del producto B y el tiempo de mezclado de los dos productos. Al accionar un pulsador se abren las dos electro válvulas que dan paso a los productos y se pone en marcha el mezclador. Según van pasando los tiempos, se cierra la válvula A, se cierra la válvula 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 Mezcla 1 DB1 Tiempo producto B 8 segundos Tiempo Mezclador 12 segundos Tiempo producto A 7 segundos Mezcla 2 DB2 Tiempo producto B 5 segundos Tiempo Mezclador 10 segundos Tiempo producto A 8 segundos Mezcla 3 DB3 Tiempo producto B 8 segundos Tiempo Mezclador 15 segundos -Crear el DB1 (Mezcla 1) Dirección Nombre Tipo Valor inicial Comentario 0.0 STRUCT 0.0 Tiempo_P_A S5TIME S5T#5S Tiempo producto A 2.0 Tiempo_P_B S5TIME S5T#8S Tiempo producto B 4.0 Tiempo_Mezc S5TIME S5T#12S Tiempo mezclado =6.0 END_STRUCT Ir a “Ver” “Datos” Ir a “Edición” “Inicializar bloques de datos” (con esto el valor inicial se copiara en el valor actual). Dirección Nombre Tipo Valor inicial Valor actual Comentario 0.0 Tiempo_P_A S5TIME S5T#5S S5T#5S Tiempo producto A 2.0 Tiempo_P_B S5TIME S5T#8S S5T#8S Tiempo producto B 4.0 Tiempo_Mez S5TIME S5T#12S S5T#12S Tiempo mezclado -Repetir el mismo proceso en DB2 (Mezcla 2) y DB3 (Mezcla 3)
  • 46. 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 Versión: 2.2 Página: 45/84 Fichero: Instrucciones avanzadas FC19 E124.0 PEQU 1 DB1 2 PEQU E124.1 MEDI 3 DB2 4 MEDI E124.2 GRAN 5 DB3 6 GRAN E124.0 FC20 7 EN ENO E124.1 E124.2 JMPN JMPN JMPN OPN OPN OPN
  • 47. 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 Versión: 2.2 Página: 46/84 Fichero: Instrucciones avanzadas FC20 MOVE 1 EN ENO DBW0 IN OUT MW0 MOVE 2 EN ENO DBW2 IN OUT MW2 MOVE 3 EN ENO DBW4 IN OUT MW4 OB1 FC19 1 EN ENO E124.7 T1 2 MW0 T2 MW2 T3 MW4 T1 A124.0 3 T2 A124.1 4 SV SV SV
  • 48. 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 Versión: 2.2 Página: 47/84 Fichero: Instrucciones avanzadas T3 A124.2 5 M A124.1 A124.2 A124.0 PRODUCTO A PRODUCTO B SELECCIÓN MEZCLA E124.0 E124.1 E124.2 MARCHA PROCESO E124.7
  • 49. 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 Versión: 2.2 Página: 48/84 Fichero: Instrucciones avanzadas 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 M10.0 ADD_I 1 EN ENO MW210 IN1 OUT MW210 1 IN2 MOVE CMP==I 2 EN ENO MW210 IN1 1 IN OUT MW210 4 IN2 CMP==I MW210 IN1 0 IN2 3 AUF DB [MW 210] P
  • 50. 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 Versión: 2.2 Página: 49/84 Fichero: Instrucciones avanzadas FC 20 EN ENO 4 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.
  • 51. 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 Versión: 2.2 Página: 50/84 Fichero: Instrucciones avanzadas E15.1. PROGRAMACION DEL RELOJ. -La hora y fecha, se pueden cambiar en el editor o en el administrador en ”Sistema de destino” ”Diagnostico/configuración” ”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 módulo, tendré que cargar esas variables temporales en unos registros (por ejemplo en un DB). Los datos del reloj están en BCD, por lo tanto deberé leerlos en hexadecimal: LB12 B#16#02 (Año) LB13 B#16#11 (Mes) LB14 B#16#23 (Día) LB15 B#16#15 (Hora) LB16 B#16#47 (Minuto) LB17 B#16#34 (Segundos) LB18 B#16#68 (Décimas y Centésimas) LB19 B#16#11 (Milésimas, día de la semana) Día de la semana 1 Domingo 2 Lunes 3 Martes 4 Miércoles 5 Jueves 6 Viernes 7 Sábado 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 después el mismo funcionamiento, pero que solo funcione de lunes a viernes. DB6 Dirección Nombre Tipo Valor inicial Comentario 0.0 STRUCT +0.0 Reloj ARRAY[1..8] B#16#0 *2.0 BYTE =16.0 END_STRUCT
  • 52. 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 Versión: 2.2 Página: 51/84 Fichero: Instrucciones avanzadas OB1 Dirección Declaración Nombre Tipo Valor inicial Comentario 0.0 Temp -------------------- ----------------------- 1.0 Temp -------------------- ----------------------- 2.0 Temp -------------------- ----------------------- ----- Temp -------------------- ----------------------- 12.0 Temp OB1_DATE_TIME DATE__AND_TIME MOVE MOVE 1 EN ENO EN 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 estarán en: DB6.DBB0 (Año) DB6.DBB1 (Mes) DB6.DBB2 (Día) DB6.DBB3 (Hora) DB6.DBB4 (Minuto) DB6.DBB5 (Segundos) DB6.DBB6 (Décimas y Centésimas) DB6.DBB7 (Milésimas, día 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
  • 53. 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 Versión: 2.2 Página: 52/84 Fichero: Instrucciones avanzadas -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 día 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
  • 54. 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 Versión: 2.2 Página: 53/84 Fichero: Instrucciones avanzadas Ejercicio 3 -Creación de una plantilla para poder realizar la conexión y desconexión 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 declaración de variables y definir estas. FC23 Declaración Nombre Tipo Comentario In HORA_INICIO WORD In HORA_FINAL WORD Out SALIDA BOOL In_out temp REAL L DB6.DBW3 L #HORA_INICIO == I S #SALIDA L DB6.DBW3 L #HORA_FINAL == I R #SALIDA OB1 MOVE MOVE 1 EN ENO EN ENO LD12 IN OUT DB6.DBD0 LD16 IN OUT DB6.DBD4 E124.2 FC23 2 EN ENO MW20 HORA_INICIO SALIDA A124.0 MD22 HORA_FINAL
  • 55. 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 Versión: 2.2 Página: 54/84 Fichero: Instrucciones avanzadas E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA). -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). También podríamos escalar cualquier otro registro que no sea una entrada analógica. Parámetros: EN Cuando tengamos un 1 se ejecuta la función. Si hay un 0, la función es saltada (no se ejecuta). IN Valor de entrada (número de entrada analógica). Formato entero 16 bits INT. HI_LIM Valor máximo deseado de salida (OUT). Número REAL, doble palabra o constante. LOW_LIM Valor mínimo deseado de salida (OUT). Número REAL, doble palabra o constante. BIPOLAR Si vale 0 (trabajamos con valores entre 0 y 27648). Entrada analógica de 0 a 10 V. Si vale 1 (trabajamos con valores entre –27648 y +27648) Entrada analógica de –10V a +10 V. OUT Valor de salida escalado entre el valor máximo y mínimo. Formato REAL. ENO Vale 0 si el valor de IN es superior o inferior al limite (-27648 o + 27648). En este caso, además en OUT sale el valor máximo o el mínimo según 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 máximo o mínimo. -En este caso, 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. FC24 FC105 SCALE 1 EN ENO PEW752 IN RET_ VALUE MW0 100.0 HI_LIM OUT MD10 0.0 LO_LIM E124.0 BIPOLAR
  • 56. 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 Versión: 2.2 Página: 55/84 Fichero: Instrucciones avanzadas UNIPOLAR BIPOLAR -Comprobar el funcionamiento de la función cuando activo el E124.0 0 V 5 V 10 V 0º PEW752 100º SONDA DE TEMPERATURA 27648 PEW752 13824 0 0ºC 50ºC 100ºC MD10 RESULTADO ESCALADO DE PEW752 27648 PEW752 13824 0 0ºC 50ºC 100ºC MD10 +27648 PEW752 0 -27648 0- 10 V PAW12 8 Sonda de temperatura 0 a 100ºC PEW752 PLC
  • 57. 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 Versión: 2.2 Página: 56/84 Fichero: Instrucciones avanzadas E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA). -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.. También podríamos desescalar cualquier otro registro que no sea una salida analógica. Parámetros: EN Cuando tengamos un 1 se ejecuta la función. Si hay un 0, la función es saltada. IN Valor de entrada .Registro en formato REAL 32 bits. HI_LIM Valor máximo deseado del valor de entrada (IN). Número REAL, doble palabra o constante LOW_LIM Valor mínimo deseado del valor de entrada (IN) . Número REAL, doble palabra o constante BIPOLAR Si vale 0, daremos valores de salida entre 0 y 27648). Salida analógica de 0 a 10 V Si vale 1, daremos valores de salida entre –27648 y +27648) .Salida analógica 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, además en OUT sale el valor máximo o el mínimo según 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 máximo o mínimo. -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 analógica entre 0 y 27648, que a su vez hará que la salida analógica de una señal entre 0 y 10 Voltios.. FC25 FC 106 UNSCALE 1 EN ENO MD10 IN RET_VALUE MW0 1500.0 HI_LIM OUT PAW752 0.0 LO_LIM E124.0 BIPOLAR
  • 58. 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 Versión: 2.2 Página: 57/84 Fichero: Instrucciones avanzadas -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 : Añadir a este ejercicio las líneas del ejercicio E2 colocando en los IN de la función 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 añade para decirle que ese valor es un número real.
  • 59. 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 Versión: 2.2 Página: 58/84 Fichero: Instrucciones avanzadas E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA. -Queremos tener una alarma de mínimo y una de máximo de una temperatura. La temperatura la lee la entrada analógica PEW752. -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. -El E124.0 es el pulsador de enterado. Al accionarlo se borra la alarma de mínimo y de máximo -Las alarmas de mínimo o máximo, 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, debo hacer una regla de tres y así deduzco que: Tendré 90ºC cuando el valor en PEW752 sea de 24883. Tendré 40ºC cuando el valor en PEW752 sea de 11059. FC26 M1.0 A124.0 CMP>I 1 PEW752 IN1 24883 IN2 M1.1 A124.1 CMP<I 2 PEW752 IN1 11059 IN2 E124.0 A124.0 3 A124.1 R R P SP S S P
  • 60. 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 Versión: 2.2 Página: 59/84 Fichero: Instrucciones avanzadas E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II). -Queremos tener una alarma de mínimo y una de máximo de una temperatura. La temperatura la lee la entrada analógica PEW752. -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. -El E124.0 es el pulsador de enterado. Al accionarlo se borra la alarma de mínimo y de máximo -Las alarmas de mínimo o máximo, 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. -En este caso, utilizando la función SCALE, ya tengo en MD10 en formato REAL el valor de la temperatura que lee el PEW752, con lo cual puedo realizar la comparación 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 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). FC27 SCALE 1 EN ENO PEW752 IN RET_VALUE MW0 100.0 HI_LIM OUT MD10 0.0 LO_LIM E0.0 BIPOLAR M2.0 A124.0 CMP>R 2 MD10 IN1 MD20 IN2 M2.1 A124.1 CMP<R 3 MD10 IN1 MD30 IN2 SP S S P
  • 61. 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 Versión: 2.2 Página: 60/84 Fichero: Instrucciones avanzadas 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 número entero y no tiene cabida en una función de números reales. E124.0 A124.0 4 A124.1 R R
  • 62. 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 Versión: 2.2 Página: 61/84 Fichero: Instrucciones avanzadas E17.1. GRABACIÓN DE UNA TABLA EN UN BLOQUES DE DATOS (DB). FUNCIÓN ATT. 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). -Queremos que el valor que tenga la primera palabra de datos sea 10 DB10 Dirección Nombre Tipo Valor inicial Comentario 0.0 STRUCT +0.0 Temperatura ARRAY[1..12] *2.0 INT =24.0 END_STRUCT Ir a Ver Datos Ir a Edición Inicializar bloques de datos poner valor 10 en valor actual de la palabra 0.0 Salvar Dirección Nombre Tipo Valor inicial Valor actual Comentario 0.0 Temperatura[1] INT 0 10 2.0 Temperatura[2] INT 0 0 4.0 Temperatura[3] INT 0 0 6.0 Temperatura[4] INT 0 0 8.0 Temperatura[5] INT 0 0 10.0 Temperatura[6] INT 0 0 12.0 Temperatura[7] INT 0 0 14.0 Temperatura[8] INT 0 0 16.0 Temperatura[9] INT 0 0 18.0 Temperatura[10] INT 0 0 20.0 Temperatura[11] INT 0 0 22.0 Temperatura[12] INT 0 0 -La función ATT la encontraremos en: -Librerías Standard library TI-S7 Converting Blocks FC84 -Funcionamiento: En DATA, indicamos el dato que queremos grabar. En TABLE, indicamos cual será el primer registro de esa tabla. En ese primer registro, (poniéndole un valor) indicaremos el número de registros que podrá grabar esa tabla. En el segundo registro, se nos ira indicando el número 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 pusiéramos flanco, en este caso en 10 scanes quedaría la tabla llena). -Cuando el primer y el segundo registro de la tabla sean iguales (la tabla estará llena), ya no se grabara ningún registro más.
  • 63. 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 Versión: 2.2 Página: 62/84 Fichero: Instrucciones avanzadas DB10 DBW0 10 DBW2 2 DBW4 2378 DBW6 3512 DBW8 0 DBW10 0 DBW12 0 DBW14 0 DBW16 0 DBW18 0 DBW20 0 DBW22 0 -Cada vez que accione el E124.0, el valor que tenga en ese momento la entrada analógica 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 M0.0 ATT 1 EN ENO PEW752 DATA DB10.DBW0 TABLE M255.4 A125.0 CMP==I 2 DB10.DBW0 IN1 DB10..DBW2 IN2 Número de registros de la tabla Número de registros grabados Primer registro grabado P
  • 64. 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 Versión: 2.2 Página: 63/84 Fichero: Instrucciones avanzadas E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO. -La función LIFO la encontraremos en: -Librerías Standard Library TI-S7 Converting Blocks FC87 -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 instrucción y al ejecutarla además ese valor será decrementado en 1. La instrucción LIFO igual que la ATT debe ir siempre con flanco, en nuestro caso, 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. FC29 E124.0 M0.0 ATT 1 EN ENO PEW752 DATA DB10.DBW0 TABLE M255.4 A125.0 CMP==I 2 DB10.DBW0 IN1 DB10..DBW2 IN2 E124.1 M0.1 LIFO 3 EN ENO DB10.DBW0 TABLE RET_VALUE MW10 P P
  • 65. 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 Versión: 2.2 Página: 64/84 Fichero: Instrucciones avanzadas E17.3. GRABACIÓN 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. -Después de grabar el registro 10, empezaría a sobrescribir el 1, después el dos, etc. -Con esto conseguiríamos tener siempre grabados los diez últimos datos. FC30 E124.0 M0.0 ATT 1 EN ENO PEW752 DATA DB10.DBW0 TABLE MOVE CMP==I 2 EN ENO DB10.DBW0 IN1 0 IN OUT DB10.DBW2 DB10..DBW2 IN2 P
  • 66. 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 Versión: 2.2 Página: 65/84 Fichero: Instrucciones avanzadas E17.4. GRABACIÓN 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) Creación de un programa para borrar los datos FC31 E124.0 M0.0 ATT 1 EN ENO PEW752 DATA DB10.DBW0 TABLE E124.1 M0.1 MOVE 2 EN ENO 0 IN OUT DB10.DBW2 E124.1 ATT 3 EN ENO W#16#0000 DATA DB10.DBW0 TABLE E124.1 M0.2 MOVE 4 EN ENO 0 IN OUT DB10.DBW2 B) Uso de una función de sistema para borrar la tabla. -Borra los segmentos 2, 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. E124.7 MOVE FILL 2 EN ENO EN ENO MW20 BVAL RET_VAL MW30 0 IN OUT MW20 BLK P#DB10.DBW4 WORD 10 P P N
  • 67. 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 Versión: 2.2 Página: 66/84 Fichero: Instrucciones avanzadas E17.5. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA. -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. -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. DB11 Dirección Nombre Tipo Valor inicial Comentario 0.0 STRUCT +0.0 Hora y minuto ARRAY[1..12] W#16#0 *2.0 WORD =22.0 END_STRUCT En el primer registro de la tabla, debemos indicar el número 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” “Datos”. Ir a “Edición”” “Inicializar bloques de datos” poner valor W#16#000A en valor actual de la palabra 0.0 Salvar Dirección Nombre Tipo Valor inicial Valor actual Comentario 0.0 Hora y minuto[1] WORD W#16#0 W#16#A 2.0 Hora y minuto[2] WORD W#16#0 W#16#0 4.0 Hora y minuto[3] WORD W#16#0 W#16#0 6.0 Hora y minuto[4] WORD W#16#0 W#16#0 8.0 Hora y minuto[5} WORD W#16#0 W#16#0 10.0 Hora y minuto[6] WORD W#16#0 W#16#0 12.0 Hora y minuto[7] WORD W#16#0 W#16#0 14.0 Hora y minuto[8] WORD W#16#0 W#16#0 16.0 Hora y minuto[9] WORD W#16#0 W#16#0 18.0 Hora y minuto[10] WORD W#16#0 W#16#0 20.0 Hora y minuto[11] WORD W#16#0 W#16#0 22.0 Hora y minuto[12] WORD W#16#0 W#16#0
  • 68. 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 Versión: 2.2 Página: 67/84 Fichero: Instrucciones avanzadas -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 M0.0 ATT 1 EN ENO PEW752 DATA DB10.DBW0 TABLE ATT EN ENO DB6.DBW4 DATA DB11.DBW0 TABLE M255.4 A125.0 CMP==I 2 DB10.DBW0 IN1 DB10..DBW2 IN2 P
  • 69. 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 Versión: 2.2 Página: 68/84 Fichero: Instrucciones avanzadas E18.1. EXPULSION DE BOTELLAS DEFECTUOSAS. Se trata de extraer las botellas defectuosas de un proceso de colocación de etiquetas, 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, 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, realizar la extracción de la misma mediante la actuación de un cilindro. Dispositivo para colocar etiqueta a las botellas Detector_Botella [E124.3] Detector_Etiqueta [E124.2] Botellas defectuosas Botellas correctas 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 “+”. E124.4 E124.5 SALIDAS. A124.0: Activación cilindro a “+”. A124.1: Activación cilindro a “-“.
  • 70. 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 Versión: 2.2 Página: 69/84 Fichero: Instrucciones avanzadas
  • 71. 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 Versión: 2.2 Página: 70/84 Fichero: Instrucciones avanzadas E19.1. PROGRAMACIÓN 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 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. • 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. 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.10.02, hora 12:54) Compilar y transferir el Hardware a la CPU. 2º Programar el OB10. (Realizar el programa que viene a continuación). ADD_I 1 EN ENO MW10 IN1 OUT MW10 1 IN2 Probar el ejercicio transfiriendo el OB10 y en la tabla de estado visualizar el valor de MW10 en decimal.
  • 72. 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 Versión: 2.2 Página: 71/84 Fichero: Instrucciones avanzadas 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), 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, activamos o desactivamos la ejecución del OB10. OB1 D_TOD_DT EN ENO D#2002-10-21 IN1 RET_VAL #hora empezar TOD#15:23:45.0 IN2 SET_TINT EN ENO 10 OB_NR RET_VAL MW0 #hora empezar SDT W#16#201 PERIOD E124.0 ACT_TINT EN ENO 10 OB_NR RET_VAL MW2 4º Programar el OB10. (Realizar el programa que viene a continuación). ADD_I EN ENO MW10 IN1 OUT MW10 1 IN2
  • 73. 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 Versión: 2.2 Página: 72/84 Fichero: Instrucciones avanzadas E19.2. PROGRAMACIÓN DEL OB20. • El OB20, permite interrumpir el OB 1 y ejecutarse después de un tiempo de demora determinado. • 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. 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. RET_VALUE Contiene el código del error si se produjera uno mientras se procesa el OB. OB1 E124.0 M20.0 SRT_D_INT EN ENO 20 OB_NR RET_VAL MW0 T#2S DTIME W#16#1 SIGN E124.1 A124.0 OB20 SET = A124.0 Enviar el OB1 y el OB20 al PLC y comprobar el funcionamiento. P R
  • 74. 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 Versión: 2.2 Página: 73/84 Fichero: Instrucciones avanzadas E19.3. PROGRAMACIÓN DEL OB35. • El OB35, permite interrumpir la ejecución 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 ejecución del programa del OB35 es menor que el tiempo de intervalo programado como repetición de la ejecución del OB35. 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), poner 125 ms Compilar y transferir el Hardware a la CPU. OB35 ADD_I EN ENO MW10 IN1 OUT MW10 1 IN2 CMP==I MOVE EN ENO MW10 IN1 0 IN OUT MW10 256 IN2 Comprobar que con los bits 0 al 7 de MW10, hemos creado generadores de impulsos (MB11). Si el tiempo de ejecución del OB35 es de 125 ms. • El M11.0 será un generador de 0’25 S • El M11.1 será un generador de 0’5 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.
  • 75. 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 Versión: 2.2 Página: 74/84 Fichero: Instrucciones avanzadas E19.4. PROGRAMACIÓN DEL OB121. -El sistema operativo de la CPU llama al OB 121 cuando aparece un error durante la ejecución del programa. -Cuando se produzca un error si en el autómata 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 autómata 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 información del módulo (descrita en segundo lugar). A) Primera forma de chequear errores de programación. OB121 MOVE EN ENO #OB121_SW_FLT IN OUT MB200 MOVE EN ENO #OB121_FLT_REG IN OUT MW202 MOVE EN ENO #OB121_BLK_TYPE IN OUT MB204 MOVE EN 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
  • 76. 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 Versión: 2.2 Página: 75/84 Fichero: Instrucciones avanzadas 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, el número de DB esta dentro del área admisible B#16#3C Acceso a un FC no cargado, el número de FC esta dentro del área admisible B#16#3DAcceso a un SFC no cargado, el número de SFC esta dentro del área admisible B#16#3E Acceso a un FB no cargado, el número de FB esta dentro del área admisible B#16#3F Acceso a un SFB no cargado, 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). 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, e ir localizando los errores de programación realizados. OB1 E124.0 MOVE EN ENO DB1.DBW10 IN OUT MW6 DB2 E124.1 FB 80 EN ENO E124.2 FC 34 EN ENO
  • 77. 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 Versión: 2.2 Página: 76/84 Fichero: Instrucciones avanzadas E124.3 FC 100 EN ENO FC34 E124.5 T1230 T12 A124.1 FC100 E124.7 A1240.6 E124.6 A124.7 DB1 Dirección Nombre Tipo Valor inicial Comentario 0.0 STRUCT 0.0 Primer_valor WORD W#16#0 2.0 Segundo_valor WORD W#16#0 4.0 Tercer_valor WORD W#16#0 =6.0 END_STRUCT DB2 Dirección Nombre Tipo Valor inicial Comentario 0.0 STRUCT 0.0 Valor_tiempo_1 WORD W#16#0 2.0 Valor_tiempo_2 WORD W#16#0 4.0 Valor_tiempo_3 WORD W#16#0 =6.0 END_STRUCT SA
  • 78. 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 Versión: 2.2 Página: 77/84 Fichero: Instrucciones avanzadas B) Chequeo de los errores en el búfer de diagnóstico.. 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
  • 79. 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 Versión: 2.2 Página: 78/84 Fichero: Instrucciones avanzadas -Activar la entrada E124.3 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. -Ir a la información del módulo y comprobar el error ocurrido . Infracción del área al escribir. Número erróneo Tipo del módulo donde está el error (FC) Número del módulo donde está el error (100) Error ocurrido Descripción del error Clicar y se abrirá el bloque y el segmento donde esta el error
  • 80. 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 Versión: 2.2 Página: 79/84 Fichero: Instrucciones avanzadas Localización del error
  • 81. 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 Versión: 2.2 Página: 80/84 Fichero: Instrucciones avanzadas -Activar la entrada E124.0 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. -Ir a la información del módulo y comprobar el error ocurrido . 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) Error ocurrido Descripción del error
  • 82. 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 Versión: 2.2 Página: 81/84 Fichero: Instrucciones avanzadas -Activar la entrada E124.1 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. -Ir a la información del módulo y comprobar el error ocurrido . 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) Error ocurrido Descripción del error
  • 83. 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 Versión: 2.2 Página: 82/84 Fichero: Instrucciones avanzadas -Activar la entrada E124.2 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. -Ir a la información del módulo y comprobar el error ocurrido . Acceso a un FC no cargado. Número FC Tipo del módulo donde está el error (OB) Número del módulo donde está el error (1) Error ocurrido Descripción del error
  • 84. 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 Versión: 2.2 Página: 83/84 Fichero: Instrucciones avanzadas -Transferir el FC34 al PLC y activar de nuevo la entrada E124.2 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. -Ir a la información del módulo y comprobar el error ocurrido . Error en dirección de un temporizador Número erróneo. Tipo del módulo donde está el error (FC) Número del módulo donde está el error (34) Error ocurrido Descripción del error