Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación S7-300. Básico. Step 7 PDF
Programación S7-300. Básico. Step 7 PDF
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:
han estado experimentando con diferentes materiales incluidos dentro de la temática de la automatización, el
control y las comunicaciones industriales.
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.
INDICE:
Direccionamiento digital
-Las direcciones de entradas y salidas comienzan con la direccion 0 para el primer modulo del rack.
-A cada modulo se le asignan 4 bytes (se usen o no).
-Para hacer ampliaciones de entradas y salidas en otro rack, se debe colocar un modulo IM para
comunicar ambos racks.
-Al configurar el Hardware del PLC con el sofware STEP 7, siempre reserva el slot para el modulo IM (se
use o no).
CPU a a a a a a a a
ALIMEN. emisor
3.7 7.7 11.7 15.7 19.7 23.7 27.7 31.7
Direccionamiento analogico
-Las direcciones analogicas para entradas y salidas empiezan con la dirección 256 en el rack 0
-Cada modulo analogico, se le asignan 16 bytes (se usen o no).
-Cada entrada analogica ocupa 2 bytes.
CPU a a a a a a a a
ALIMEN. emisor
271 287 303 319 335 351 367 383
NOTA: En el Hardware del Step 7 podemos cambiar la numeración que recibe cada tarjeta de entradas
y salidas
2 TIPOS DE REGISTROS
BIT:
• Un bit, es la unidad básica para trabajar con dígitos binarios.
• Es la unidad más pequeña de información
• Solo tiene dos estados 0 y 1.
• Pueden agruparse formando registros mayores
Un bit se le denomina de la siguiente forma:
E 124. 0
Tipo de operando Byte al que pertenece ese bit Posición del bit dentro del Byte (0 al 7)
BYTE:
• Un byte es un grupo de 8 bits.
• Se emplean para representar valores numéricos de 8 dígitos binarios.
E B124
PALABRA:
• Una palabra esta compuesta por dos bytes o sea 16 bits.
M W11
MW11
MB11 MB12
Esta palabra esta compuesta por los Bytes MB11 y MB12 Posición del bit dentro de la palabra
Esta palabra esta compuesta por los Bits
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
M11.7, M11.6, M11.5, M11.4, M11.3, M11.2, M11.1, M11.0, M12.7, M12.6, M12.5, M12.4, M12.3, M12.2, M12.1, M12.0
DOBLE PALABRA:
• Una doble palabra, esta compuesta por dos palabras, o sea 4 bytes o 32 bits.
• Es la unidad mas grande que puede ser procesada por el PLC.
M D 10
Tipo de operando Indica que el registro es una doble palabra Numero de doble palabra
• Esta doble palabra esta compuesta por los Bytes MB10, MB11,MB12 y MB13
• En MB10 está los bit cuya posición dentro de MD10 es de la 31 a la 24
• En MB11 estan los bit cuya posición dentro de MD10 es de la 16 a la 23
• En MB12 estan los bit cuya posición dentro de MD10 es de la 15 a la 8
• En MB13 estan los bit cuya posición dentro de MD10 es de la 7 a la 0
MD10
31 24 23 16 15 8 7 0
FC1
AWL
E124.0 E124.1 E124.2 A124.0
1
E124.0 A124.1
2
E124.1
E124.2
FC2
AWL
E124.0 E124.1 E124.2 E124.3 A124.0
1
E124.4
E124.5
E124.7
Indicar:
• A partir de que operando quiero ver (E124.0)
• Cuantos operandos (8)
• Formato de visualización (BOOL)
• Cuando programamos un contacto normal (abierto), estamos diciendo que en ese punto del
programa queremos el mismo valor que tenga el elemento de referencia.
• Cuando programamos un contacto negado, estamos diciendo que en ese punto del programa,
queremos tener el valor contrario al que tiene el elemento de referencia.
FC3
E124.5 A124.7
2
• Podemos programar contactos de las salidas, tanto normales como negados y el valor de referencia
de estos, será el mismo que su bobina.
• Cuando queramos tener en un contacto el mismo valor que la bobina, pondremos un contacto
abierto.
• Las salidas A124.0 y A124.1, funcionaran de forma directa con las entradas E124.0 y E124.1
respectivamente.
Funcionamiento:
• La salida A124.3 funcionara si funciona al mismo tiempo la salida A124.0 y A124.1
• La salida A124.4 funcionara si funciona la salida A124.0 o A124.1
• La salida A124.5 funcionara si no funciona la salida A124.0 y no funciona A124.1
• La salida A124.6 funcionara si funciona la salida A124.0 y no funciona A124.1
• La salida A124.7 funcionara si no funciona la salida A124.0 y funciona A124.1
FC4
E124.1 A124.1
2
A124.0 A124.4
4
A124.1
• Indica el valor de las salidas A124.3 a la A124.7 según sea el valor de A124.0 y A124.1
En este ejercicio, aplicaremos el concepto de contacto negado, utilizando en cada caso diferentes tipos
de pulsadores normalmente abiertos o normalmente cerrados.
Para ello utilizaremos el esquema para la puesta en marcha de un motor trifásico mediante una botonera
paro-marcha y protección por relé térmico, aplicado a dos motores, uno con el paro y el térmico con
contactos nc (normalmente cerrados) y el otro con contactos no (normalmente abiertos).
Al acabar, grabar la tabla. Una vez grabada, se puede programar utilizando la dirección o el símbolo.
Símbolos y direcciones:
Para poder visualizar una opción u otra, estando dentro de un módulo (FC, OB, etc.) Tenemos que
activar simultáneamente las teclas CTRL + Q, o Ver Mostrar Representación simbólica
FC5
AWL
E124.0 E124.1 E124.2 A124.0
1
A124.0
E124.0 A124.1
2
Posibles averías:
• Fallo en el pulsador de paro: Si el motor esta funcionando y se suelta el cable del pulsador de
paro, el motor se para al instante.
• Fallo en el rele térmico: Si el motor esta funcionando y se suelta el cable del rele térmico, el motor
se para al instante.
• Fallo en el pulsador de marcha: Si el motor esta parado y se suelta el cable del pulsador de
marcha, de momento no pasa nada, pero cuando se quiera poner en marcha el motor no se
pondrá.
IMPORTANTE:
Con un elemento de seguridad o de parada (paros de emergencia, final de carrera de seguridad, etc.)
SIEMPRE ha de utilizarse un contacto físico CERRADO conectado al autómata.
FC5
A124.4
E124.4 A124.5
4
Posibles averías:
• Fallo en el pulsador de paro: Si el motor esta funcionando y se suelta el cable del pulsador de paro,
el motor NO SE PARA y detectaremos la avería solo en el momento que queramos parar el motor.
• Fallo en el relé térmico: Si el motor esta funcionando y se suelta el cable del relé térmico, cuando
éste dispare el motor continua funcionando.
Nota:
Para probar con el simulador, recordar que:
• El E124.0 (rele termico) y el E124.1 (paro) en reposo estan dando un 1 (Segmento 1 y 2)
• El E124.4 (rele termico) y el E124.5 (paro) en reposo estan dando un 0 (Segmento 3 y 4)
FC6
AWL
E124.0 A124.0
1 S
E124.1 A124.0
2 R
E124.3 A124.1
3 R
E124.2 A124.1
4 S
M0.0
E124.4 SR A124.2
5 S Q
E124.5
R
M0.1
E124.7 RS A124.3
6 R Q
E124.6
S
Nota: Una vez probado el ejercicio, programar los segmentos 1 y 2 del FC5 mediante las intrucciones
Set y Reset
-Existen unas funciones especiales de Set-Reset de funcionamiento similar al Set-Reset del S7-200.
Para programarlas dentro de un modulo, tenemos que ir a:
Librerias Standard Library TI-S7 Converting Blocks.
FC83 Función Set
FC82 Función Reset
Funcionamiento:
Función 83 (Set):
-Al poner un 1 en EN, se ponen a Set a N elementos a partir de S_BIT (En este caso se activaran las
salidas A124.0, A124.1 , A124.2 y A124.3.
-Cuando pongamos un 1 en EN, si la función se ejecuta correctamente, tendremos un 1 en ENO.
Función 82 (Reset):
-Al poner un 1 en EN, se ponen a Reset a N elementos a partir de S_BIT (En este caso se desactivaran
las salidas A124.0, A124.1 , A124.2 y A124.3.
-Cuando pongamos un 1 en EN, si la función se ejecuta correctamente, tendremos un 1 en ENO.
IMPORTANTE: Cuando se realice la transferencia del modulo, se debe tranferir tambien desde el
administrador los modulos FC82 y FC83.
FC7
AWL
FC83
E124.0 SET A124.5
1 EN ENO
A124.0 S_BIT
4 N
FC82
E124.1 RESET
2 EN ENO
A124.0 S_BIT
4 N
10 REGISTRO DE ENTRADAS
En cada scan el autómata antes de comenzar a leer el programa, copia el valor que tienen las entradas
físicas en el registro de entradas.
A partir de ahí, cada vez que el autómata encuentre el contacto de una entrada, NO ira a leer su valor a
la entrada física, sino que leerá su valor del registro de entradas. Como consecuencia de esto, una
entrada tendrá el mismo valor (aunque mientras lea, cambie su estado físico) desde que empieza a
ejecutarse el ciclo hasta que acabe.
El autómata, ejecuta las instrucciones siguiendo el orden en que han sido programados los segmentos,
esto puede provocar en algunos casos que el orden de colocación de los segmentos sea vital para su
correcto funcionamiento.
En el siguiente ejemplo:
• Programar y probar la parte A y comprobar su funcionamiento. (razonándolo).
• Programar y probar la parte B y comprobar su funcionamiento. (razonándolo).
FC8
A AWL
E124.0 A124.1
2
E124.1 A124.0
3 R
B AWL
E124.0 A124.3
4
E124.1 A124.2
6 R
11 REGISTRO DE SALIDAS
• Cuando por programa se pone un 1 en una salida, este 1 es enviado al registro de salidas, NO a
la salida física.
• Cuando el autómata, acaba de leer todo el programa, vuelca el valor del registro de salidas en
las salidas físicas.
• Si programamos por error la bobina de una salida repetida, a nivel externo solo responderá a
un funcionamiento correcto la ultima bobina programada.
• Las bobinas de Set-Reset se pueden repetir tantas veces como queramos. El valor que tomará
la salida física, será el de la ultima bobina activa.
• Cuando el programa es leído y encuentra un contacto de una salida, toma el valor que tenga en
ese instante el registro de salida.
Prueba:
• Añadir detrás del segmento 2 un contacto de la salida A124.1 que conecte la salida A124.6
• Añadir detrás del último segmento un contacto de la salida A124.1 que conecte la salida A124.7
Nota: Para añadir un segmento en un punto determinado debo de picar una vez con el raton sobre el
nombre del segmento y despues accionar “insertar” . Asi el nuevo segmento ira debajo del segmento
marcado
FC9
AWL
E124.0 A124.0
1
E124.1 A124.1
2
A124.1 A124.6
E124.3 A124.3
3
E124.4 A124.1
4
A124.1 A124.7
Se puede realizar el forzado de entradas y salidas para eso haremos el siguiente ejercicio y crearemos
una tabla de variables.
FC10
E124.1 A124.0
2 R
E124.2 A124.2
3
Comprobar como actuan las entradas y las salidas segun el tipo de forzado que se realice.
ENTRADAS
Valor de Estado salida Punto de disparo “Forzar” Condición de disparo “Forzar”
forzado
E124.0 1 A124.0=1 Inicio de ciclo Unico y permanente
E124.1 1 A124.0=0 Inicio de ciclo Unico y permanente
E124.0 1 A124.0=0 Final de ciclo Unico y permanente
E124.1 1 A124.0=0 Final de ciclo Unico y permanente
SALIDAS
Valor de Estado salida Punto de disparo “Forzar” Condición de disparo “Forzar”
forzado
A124.0 1 A124.0=1 Inicio de ciclo Unico y permanente
A124.0 1 A124.0=1 Final De ciclo Unico y permanente
• Las entradas que activan Set-Reset se les puede hacer un forzado unico.(1 scan).
• Las entradas que activan salidas normales, deben activarse con forzado permanente.
• Las salidas que estan programadas como Set-Reset, pueden forzarse haciendo el disparo al inicio
o al final de ciclo y la condición de disparo puede ser unico o permanente.
• Las salidas normales, deben forzarse al final de ciclo y la condición de disparo ha de ser
permanente.
• Las salidas que no esten programadas, se pueden activar y desactivar en cualquier punto y con
forzado unico o permanente.
-Las salidas son elementos sin memoria, que trabajan a nivel interno y además dan una señal al exterior.
-Los marcas solo trabajan a nivel interno. Las hay con memoria y sin memoria.
Que una marca tenga memoria, significa que después de un corte de tensión, esa marca recuerda el
estado que tenia antes del corte y lo mantendrá.
Cambio del margen de las marcas remanentes. Para modificar el margen de las marcas se ha de seguir el
siguiente proceso:
En la ventana HW Config, clicar dos veces sobre la CPU Seleccionar la pestaña Remanencia y
Colocar el número de Bytes de marcas que queremos que tengan memoria a partir del MB0
Guardar y compilar y Cargar al autómata.(cargar a modulo)
• Realiza el ejemplo siguiente y comprueba que en funcionamiento normal las tres salidas
funcionan exactamente igual.
• Estando activadas las tres salidas, corta la tensión y conéctala de nuevo y comprueba que las
salidas que dependen de marcas remanentes han guardado el valor que tenían antes del corte
de tensión.
• Para simular un corte de tensión con el Simulador, has de entrar en el desplegable PLC, poner el
PLC en OFF i despues ON y después pasar el PLC a STOP y a RUN de nuevo.
• Una vez que hayas comprobado el funcionamiento de las marcas remanentes, cambia el
margen de estas, de manera que M16.0 también lo sea, y vuelve a comprobar el funcionamiento.
FC11
AWL
E124.0 A124.0
1 S
M0.0
S
M16.0
S
AWL
E124.1 A124.0
2 R
M0.0
R
M16.0
R
M0.0 A124.1
3
M16.0 A124.2
4
• Este seria un caso en el que necesitamos que en caso de corte de tensión, queremos que el
proceso siga por donde estuviera en ese momento.
FC12
AWL
E124.7 M16.0
1 S
E124.0 M0.0
2 S
S
E124.1 M0.0
3 R
• La instrucción NOT, toma el valor que tiene a su izquierda, lo invierte y lo pone en su derecha.
• Los segmentos 1 y 2 son equivalentes y funcionaran exactamente igual.
Segmento 1:
Resultado de la combinación de E124.0 y E124.1
Antes del NOT 0 Después del NOT 1
1 Después del NOT 0
Segmento 3:
En este segmento solo invertimos el resultado de la combinación serie del E124.2 y del E124.3. El NOT
no afecta al E124.5 y al E124.4
FC13
1 NOT
E124.0 A124.1
2
E124.1
E124.5
FC14
AWL
T0
E124.0 S_EVERZ A124.0
1 S Q
R DEZ
E124.0 T5 AWL
2 SE
S5T#10S
T5 A125.0
3
FC15
AWL
T1
E124.1 S_AVEREZ A124.1
1 S Q
R DEZ
AWL
E124.1 T6
2 SA
SA
S5T#10S
T6 A125.1
3
FC16
AWL
T2
E124.2 S_VIMP A124.2
1 S Q
R DEZ
AWL
E124.2 T7
2 SV
S5T#10S
T7 A125.2
3
Observaciones:
Configura el Hardware del PLC para que el temporizador T2 sea remanente y comprueba la diferencia de
funcionamiento respecto T7.
FC17
AWL
T3
E124.3 S_SEVERZ A124.3
1 S Q
E124.3 T8 AWL
2 SS
S5T#10S
T8 A125.3
3
E124.7 T8
4 R
R DEZ
AWL
E124.4 T9
2 SI
S5T#10S
T9 A125.4
3
• Desde el OB1 llamar a los FC de los temporzadores, desde el FC14 al FC18. Hay que poner
cada llamada de la subrutina en un segmento diferente del OB1.
OB1
AWL
FC 14
1 EN ENO
FC 15
2 EN ENO
FC 16
3 EN ENO
FC 17
4 EN ENO
FC 18
5 EN ENO
• Crear una tabla de variables donde se vean todos los elementos utilizados en los FC14 a FC18
(Entradas, Temporizadores y salidas).
22 GENERADORES DE IMPULSOS
• Nota: Podemos poner el byte de marcas que queramos del 0 al 255. Por comodidad ponemos el
MB255 ya que al ser el ultimo no corremos el riesgo de equivocarnos y utilizarlo de forma simultanea
para otra cosa.
• Cuando guardamos y compilamos, se almacena la configuración del Hardware en Datos del sistema,
y al Cargar transferimos estos datos al PLC, que quedan guardados aunque este se desconecte.
• Pero en el caso de trabajar con el simulador, se pierden cada vez que cerramos el simulador, por
tanto deberemos cargarlos de nuevo cada vez que abramos el simulador.
FC19
AWL
E124.0 M255.0 A124.0
1
AWL
E124.5 M255.5 A124.5
6
Una vez realizado y comprobado el programa, crea una tabla de estado (desde el Administrador: Insertar
nuevo objeto Tabla de variables) para visualizar el byte de marcas que hemos configurado como
generador de impulsos.
Vamos a utilizar este ejercicio para aplicar la edición de los operandos de la tabla de golpe, para ello
sigue los siguientes pasos:
23 GENERADORES DE IMPULSOS(II)
FC20
E124.0 T1 A124.0 AWL
1
E124.0 T2 A124.7
2
T2 T1
3 SE
S5T#2S
T1 T2
4 SE
SE
S5T#2S
T3 T3
6 SE
S5T#100ms
Observaciones:
En el simulador selecciona Ciclo individual y ejecuta el programa ciclo a ciclo para ver como se
conecta la salida A124.4 durante un ciclo.
Estando en “ciclo individual”, cada vez que pulsemos un ciclo mas, transcurrira 10 milisegundos.
24 CONTADORES DE IMPULSOS
FC21
AWL
Z0
E124.0 ZAEHLER A124.0
1 ZV Q
E124.1
ZR
E124.2
S
E124.3
R DEZ MW2
-Esta seria otra forma de programar un contador. De esta forma solo usaremos los elementos que
necesite en cada caso.
E124.0 Z1 AWL
2 ZV
E124.1 Z1
3 ZR
E124.2 Z1
4 SZ
C#100
E124.3 Z1
5 R
R
Z1 A124.1
6
Z1 A124.2
7
Ejercicio: Realizar el programa necesario para crear un contador de tiempos (Contaje hacia arriba,
Reset y generador de impulsos).
El contador contara los segundos que mantengo activada la entrada E125.0. Al accionar el E125.7 el
contador se pondra a 0.
• El operario pone en marcha el proceso mediante el selector E124.0, al accionar el pulsador E124.1
carga 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
el zumbador A124.7.
• El operario retira entonces la caja llena, pone una caja vacía y acciona de nuevo el pulsador E124.1
y el ciclo comienza de nuevo.
FC22
AWL
E124.7 E124.0 Z1
1 ZR
E124.1 E124.0 Z1
2 SZ
C#8
Z1 E124.0 A124.0
3
A124.0
E124.7
A124.7
E124.0
E124.1
Queremos controlar la cantidad de piezas que pasan por un proceso de producción. Queremos controlar
cuantas piezas hemos fabricado, cuantas han sido defectuosas y cuantas han sido buenas.
-Tendremos tres contadores:
Un contador con solo contaje hacia arriba para contar las piezas totales. (Z1)
Un contador con solo contaje hacia arriba para contar las piezas defectuosas (Z2)
Un contador con contaje hacia arriba (cuenta todas las piezas) y contaje hacia abajo (descuenta las
malas) que contara las piezas buenas. (Z3)
-Tenemos dos detectores.
• Uno detectara todas las piezas que pasen (E124.0)
• Otro detectara solo las piezas malas que pasen (E124.1).
-Tendremos un pulsador de reset. Al acabar la jornada, el responsable de producción mirara el valor de
los contadores y accionando el reset, los pondrá a 0, quedando preparados para la siguiente jornada.
FC23
AWL
E124.0 Z1
1 ZV
Z3
ZV
E124.1 Z2
2 ZV
Z3
ZR
E124.7 Z1
3 R
Z2
R
Z3
R
En este caso, queremos saber cuando tenemos un parking lleno. En ese caso funcionara una lampara
de forma intermitente que señalizara que el parking esta lleno.
• Con el parking vacio, accionariamos un pulsador el E124.7, entonces el contador se pondrá al valor
10.
• Cada vez que entre un coche, se activara el detector E124.1 que hará que el contador baje de valor.
• Cada vez que salga un coche, se activara el detector E124.0, que hará que el contador incremente
en 1 su valor.
• Cuando el contador llegue al valor 0, querrá decir que el parking esta lleno y entonces se activara la
salida A124.1 (Lampara de parking lleno).
Nota: Recordar que hay que configurar la marca de ciclo MB255 en el hardware y transferirlo al PLC
FC24
AWL
E124.0 Z1
1 ZV
E124.1 Z1
2 ZR
E124.7 Z1
3 SZ
C#10
Z1 A124.0
4
Z1 M255.5 A124.1
5
• Queremos que cuando una bomba lleve acumulado un cierto tiempo de funcionamiento (120
segundos en este caso) me de una señal intermitente en una lampara que me indicara que debo de
hacerle un mantenimiento.
• Con el E124.0 y el E124.1, ponemos en marcha y paramos el motor.
• Cada vez que funcione el motor, hacemos que el generador de impulsos M255.5 actúe sobre el
contador. Cuando lleve acumulado un total de dos minutos la salida A124.3 se activara intermitente.
• Una vez hecho el mantenimiento, accionaremos el pulsador de reset E124.7, con lo cual el contador
queda preparado para controlar el siguiente mantenimiento.
Nota: En un caso real, tendríamos que utilizar varios contadores para realizar el mantenimiento al cabo X
horas. Dibujar el esquema de funcionamiento para que la lampara nos avise a las 2000 horas de
funcionamiento.
FC25
AWL
E124.0 A124.0
1 S
E124.1 A124.0
2 R
A124.0 M255.5 Z1
3 ZR
E124.7 Z1
4 SZ
C#120
Z1 M255.3 A124.3
5
Z1 A124.0
Ejercicio: Añadir un temporizador para que si pasan 10 segundos despues de acabar el contaje, se haga el
reset de la bomba.
Nota: Razonar el funcionamiento del circuito si el segmento 1 lo programo detrás del segmento 4
FC26
AWL
E124.0 A124.0 Z1
1 ZV
A124.0 Z2
2 ZV
E124.7 Z1
3 R
Z2
R
A124.0
AWL
E124.0 A124.0 A124.1
5
A124.0 M255.5
E124.0 M255.0
Flanco positivo:
• Cuando activo de forma constante la E124.0, hacemos que la salida A124.0 funcione durante 1 Scan
cuando la entrada E124.0 pasa de 0 a 1 (sube)
Flanco negativo:
• Cuando desactivamos la E124.0, hacemos que la salida A124.1 funcione durante 1 Scan cuando la
entrada E124.0 pasa de 1 a 0 (baja)
• Nota: Tanto el flanco positivo, como el negativo, deben de ir acompañados de una marca que no se
puede repetir.
FC27
Seleccionar “ciclo
individual” e ir pulsando a
“+1” comprobando como
trabaja el flanco
FC28
AWL
E124.0 M0.0 A124.0 M0.1
1 P S
A124.0 M0.1
R
M0.1 A124.0
2
E124.4 A124.2
4
R
• Cuando necesitemos utilizar una misma estructura varias veces, pero con elementos diferentes, se
puede hacer una plantilla y después llamarla cada vez que la necesitemos.
• En este caso queremos programar el control de varios motores cuyo funcionamiento será idéntico.
Creamos una plantilla en un FC.
• Forma de trabajar con una plantilla:
• Primero debemos definir los parámetros que utilizaremos en la plantilla..
• A continuación montamos el diagrama de contactos utilizando los parámetros asignados en la tabla
de declaración.
• Llamamos a esa plantilla las veces que nos interese colocando en cada caso los elementos de
control de cada motor.
FC29
Datos de la plantilla
Interface
Nombre Tipo de datos Comentario
Tipo de parámetro
In Térmico BOOL Relé térmico protección
In Paro BOOL Pulsador de paro
In Marcha BOOL Pulsador de marcha
Out Marcha_Motor BOOL Piloto motor en marcha
Out Paro_Motor BOOL Piloto motor parado
Out Averia_Motor BOOL Piloto avería motor
In_out Motor BOOL Contactor de motor
temp ------------------ ------------------- --------------------------------
#Motor
#Motor #Marcha_Motor
#Motor #Paro_Motor
En el FC29 realizamos la llamada a la plantilla (bloque FC28) tantas veces como motores tengamos,
colocando en cada FC28 llamado, los datos que correspondan a los operandos de cada motor.
En este ejercicio vamos a utilizar los siguientes elementos correspondientes a cada motor:
FC30
AWL
FC29
1 EN ENO
A124.0 Motor
FC29
2 EN ENO
A124.4 Motor
Para comprobar el
funcionamiento deben estar
activados los bits marcados
en el simulador.
Los saltos a metas, son saltos condicionales. Se han de definir con un inicio (JMP) y un final (LBL)
Las etiquetas de las metas, están compuestas por cuatro caracteres de los cuales al menos 1 tiene que
ser una letra.
FC31
AWL
E124.0 SAL1
1 JMP
E124.1 A124.1
2
E124.2 A124.2
3
E124.3 A124.3
4 SAL1
E124.3 A124.4
Observaciones:
Debemos tener en cuenta que cuando realizamos un salto, dejamos de ejecutar las líneas de programa
que saltamos, por tanto si había algo en marcha, continuará en marcha y no se podrá parar hasta que se
vuelvan a ejecutar estas instrucciones.
Si la entrada E124.0 esta conectada, se ejecuta el salto y no se leen (por lo tanto es como si no estuvieran)
los tres segmentos del medio.
34 PROGRAMACIÓN ESTRUCTURADA
El bloque OB1 es un módulo que se ejecuta siempre, desde él podemos realizar llamadas a otros
módulos.
Cuando se llama a un módulo, deja de leerse el módulo donde estamos y se lee el módulo llamado,
cuando éste se acaba de leer, el programa vuelve al segmento siguiente del módulo desde el que
habíamos realizado la llamada.
OB1
AWL
E124.0 A124.0
1
E125.0 FC 32
2 EN ENO
E124.1 A124.1
3
FC32
AWL
E125.1 FC 33
4 EN ENO
E124.2 A124.2
5
E124.3 A124.3
6
FC33
AWL
E124.4 A124.4
7
E124.5 A124.5
8
U E 125.2
9
BEB
E124.6 A124.6
10
En este ejercicio, la CPU del PLC ejecutará el programa siguiendo un orden en función del estado de las
entradas.
Observaciones:
Cuando trabajamos con programación estructurada, debemos tener en cuenta que siempre que desde
un bloque, llamamos a otro bloque, este debe estar cargado en el PLC, sino el PLC se pondrá en STOP.
• El Watch Dog es una especie de temporizador que controla el tiempo maximo que dura un scan.
• Si el tiempo que dura un scan es superior al que tenemos programado en el Watch Dog el PLC
se ira al estado de STOP.
• Utilizar el ejercicio anterior y añadir el segmento 11 en el FC 32.
• Comprobar que ocurre cuando acciono el E125.3
3º Picar encima
1º Para chequear el error, ir al del error.
“Administrador” abrir el
“Hardware”, Picar sobre 4º Descripción
“Sistema de destino” y dentro del del error.
menú seleccionar “Información
del modulo”. 5º Si picamos encima de
“Abrir bloque” se abrira
el bloque que nos ha
provocado el error.
Funcionamiento Automático:
• Al accionar el pulsador E124.0, se activa la salida A124.0 (electroválvula) y la salida A124.7 (Piloto)
funciona de forma intermitente lento.
• Al cabo de 10 segundos de funcionar, se desconectan las salida A124.0 y A124.7.
Funcionamiento Manual:
• Mientras mantengamos accionado el pulsador E124.0, se activa la salida A124.0 (electro válvula) y la
salida A124.7 (Piloto) funciona de forma intermitente rápido.
• Al dejar el pulsador E124.0. las salidas se desconectan
OB1
AWL
E125.0 FC 34
1 EN ENO
E125.0 FC 35
2 EN ENO
FC34 (AUTO)
AWL
E124.0 T1
1 SV
S5T#10S
T1 A124.0
2
FC35 (MANUAL)
AWL
E124.0 A124.0
1
Cuadro electrico
-Si realizo el programa en un solo FC este seria el programa equivalente al anterior AWL usando saltos.
AWL
U N E 125.0
SPB AUTO
U E 125.0
SPB MAN
AUTO: U E 124.0
L S5T#10S
SV T 1
U T 1
= A 124.0
U A 124.0
U M 255.5
= A 124.7
BEA
MAN: U E 124.0
= A 124.0
U A 124.0
U M 255.1
= A 124.7
Este OB, se ejecuta 1 vez durante 1 scan cuando el autómata pasa de STOP a RUN.
Al OB100 NO hay que llamarlo desde ningún otro módulo, pues se ejecuta de manera automática, pero
recuerda que hay que cargarlo a la CPU.
OB100
AWL
M200.0 M200.0
1
FC36
AWL
M200.0 T1
1 SE
S5T#20S
T1 M200.0
2 R
E124.7 A124.0
4 R
A124.0
Módulos OB100 solo hay uno, por tanto si ya está creado solo hay que abrirlo y añadir todas las
operaciones que queremos realizar.
Consideremos que M0.0 es la etapa inicial de un grafcet de 6 etapas o estado inicial de una guía gemma
de 6 estados.
Funcionamiento:
Cuando el autómata pasa de STOP a RUN, se ejecutará el OB100 solo durante 1 scan, pero suficiente
para ejecutar el programa y por tanto provocará la desconexión de 6 bits a partir del M0.0 y conectará
solo M0.0
OB100
AWL
FC82
RESET M0.0
1 EN ENO S
S
M0.0 S_BIT
6 N
Otra forma de hacerlo seria con la instrucción MOVE (transferir), aunque aquí realiza la operación con un
Byte, es decir desconecta 8 nits.
AWL
MOVE M1.0
2 EN ENO S
0 IN OUT MB1
39 INSTRUCCIONES DE COMPARACIÓN
NOTA: Un comparador, actúa como un contacto en el que hay valor 1 cuando se cumple la comparación.
FC 37 AWL
E124.0 A124.0
CMP==I
1
MW0 IN1
135 IN2
E124.1 A124.1
CMP<>I
2
MW0 IN1
135 IN2
E124.2 A124.2
CMP>I
3
MW0 IN1
135 IN2
AWL
E124.3 A124.3
CMP<I
4
MW0 IN1
135 IN2
E124.4 A124.4
CMP>=I
5
MW0 IN1
135 IN2
E124.5 A124.5
CMP<=I
6
MW0 IN1
135 IN2
Observaciones:
Una vez comprobado el funcionamiento del programa, varia los valores de IN2 de las comparaciones y
mediante los bytes de entradas EB0 y EB1 comprueba el resultado.
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 .
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 .
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 . (tendremos un 1
cuando los bits de IN1 y IN2 sean diferentes)
Inserta en el simulador los bytes de entradas que necesites para comprobar el programa y una vez que lo
hayas probado y entendido, cambia EW0 por MW0 y EW2 por MW2, y los valores de estas marcas los
introduces forzándolos desde la tabla de variables.
FC 38
E124.0 WAND_W
1 EN ENO
EW0 IN1
OUT MW4
EW2 IN2
E124.1 WOR_W
2 EN ENO
EW0 IN1
OUT MW4
EW2 IN2
E124.2 WXOR_W
3 EN ENO
EW0 IN1
OUT MW4
EW2 IN2
Observaciones:
En este ejercicio estamos utilizando los mismos operandos en las 3 operaciones.
Prueba una a una y recuerda que si activas varias operaciones a la vez, solo se ejecutará bien la programada
en último lugar.
En cualquiera de estas cuatro operaciones, el resultado ha de estar comprendido dentro de los límites de los
números enteros.
Fuerza los valores de MW0 y MW2 desde la tabla de variables y recuerda que igual que en el ejercicio
anterior no debemos activar simultáneamente varias operaciones.
FC39
MW2 IN2
OV M255.3 A124.1
MW2 IN2
OV M255.3 A124.3
MW2 IN2
OV M255.3 A124.5
MW2 IN2
OV M255.3 A124.7