Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SIMATIC S7-300
PROGRAMACIÓN NIVEL II
Departamento Eléctrico
AUTÓMATAS
PROGRAMABLES
Programación Avanzada NIVEL II
REPASO CONCEPTOS BÁSICOS NIVEL I
1. MÓDULOS DE ORGANIZACIÓN
2. BLOQUES DE FUNCIÓN
3. MÓDULOS DE DATOS
4. ACUMULADORES
5. FUNCIÓN MOVE
5.1 FUNCIÓN MOVER (TRANSFERENCIA).
5.2 FUNCIÓN MOVER (CONSTANTES A UNA MISMA PALABRA
6. FUNCIÓN DE TEMPORIZACIÓN
6.1 PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN
TEMPORIZADOR
6.2 PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS
DIFERENTES
7. FUNCIONES DE CONTAJE Y COMPARACIÓN
7.1 PRESELECCIÓN VARIABLE DEL VALOR DE UN CONTADOR.
7.2 INSTRUCCIONES DE COMPARACIÓN
7.3 CONTROL DE INICIO DE LA MARCHA DE UN PROCESO
7.4 CLAVE PARA ABRIR UNA CERRADURA
7.5 SELECCIÓN DE DOS TIPOS DE FUNCIONAMIENTO
NIVEL AVANZADO NIVEL II
8. PROGRAMACIÓN ESTRUCTURADA POR BLOQUES
8.1 SELECCIÓN DE DOS TIPOS DE FUNCIONAMIENTO
9. OPERACIONES DE CÁLCULO BÁSICAS Y AVANZADAS.
9.1 OPERACIONES LÓGICAS ENTRE PALABRAS O DOBLES PALABRAS
9.2 PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN
VARIABLE. BASE DE TIEMPOS FIJA
9.3 OPERACIONES ARITMÉTICAS CON NÚMEROS ENTEROS (COMA FIJA)
9.4 CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN
9.5 CREACIÓN DE UN CONTADOR DE TIEMPOS
9.6 OPERACIONES ARITMÉTICAS CON NÚMEROS EN COMA FLOTANTE
10. OPERACIONES DE INCREMENTAR Y DECREMENTAR.
10.1 DIFERENTES MÉTODOS DE INCREMENTAR Y DECREMENTAR
11. PARAMETRIZACIÓN DE BLOQUES FBs Y FCs.
5. FUNCIÓN MOVE
5.1 FUNCIÓN MOVER (TRANSFERENCIA).
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.
6. FUNCIÓN DE TEMPORIZACIÓN
6.1PRESELECCIÓ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 irá a STOP.
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 marcados en la tabla.
2º Crearemos el programa en el FC17
Valores de DB1
Variable
0.0 DATOS │1│ INT 0 1
provisional
Ejercicio 2
Queremos realizar la suma de dos palabras del DB1 y mover el
resultado al MW20.
1º Crearemos el programa en el FC18
Ir a “Ver”→ “Datos”
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.
Al realizar este programa en OB1, los datos del reloj estarán en:
Ejercicio 3
Creación de una plantilla para poder realizar la conexión y desconexión de un elemento
entre unas horas determinadas.
Parámetros:
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.
UNIPOLAR
Programación FC 25
Parámetros:
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.
Ir a Ver →Datos
Ir a Edición →Inicializar bloques de datos→ poner valor 10 en valor actual de la
palabra 0.0 →Salvar
3120 Valor
17.DESPLAZAMIENTOS Y ROTACIONES
OB20
SET
= A124.0
Enviar el OB1 y el OB20 al PLC y comprobar el funcionamiento.
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
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
a0
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#3D Acceso a un SFC no cargado, el número de SFC está dentro del área admisible
B#16#3E Acceso a un FB no cargado, el número de FB está dentro del área admisible
B#16#3F Acceso a un SFB no cargado, el número de SFB está 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.
Activar la entrada E124.3 y comprobar en la tabla de variables los valores que me darán los
datos del error ocurrido.
Activar la entrada E124.1 y comprobar en la tabla de variables los valores que me darán los
datos del error ocurrido.
Activar la entrada E124.2 y comprobar en la tabla de variables los valores que me darán los
datos del error ocurrido.