Programación estructurada en S7-300: módulos OB1 y OB100, finales BEB/BEA y comparadores

InformáticaActualizado el 3,33 KB

Resumen

El documento explica cómo organizar un programa en el PLC S7-300 mediante módulos y llamadas entre bloques, partiendo de OB1. Describe los finales de programa BE, BEB y BEA, el funcionamiento del Watch Dog y el módulo de arranque OB100. También presenta los tres tipos de comparadores (INT, DINT y REAL) y sus seis operaciones de comparación.

Puntos clave

  • El OB1 se ejecuta continuamente y desde él se llaman a otros módulos; al terminar el módulo llamado, el programa retoma el segmento siguiente.
  • BEB es un final condicional que termina el programa solo si la condición (RLO) previa se cumple.
  • BEA es un final absoluto que termina siempre el programa y, a diferencia de BE, permite escribir instrucciones detrás de él.
  • El Watch Dog controla el tiempo máximo de un scan; si lo supera, el PLC pasa a STOP.
  • El OB100 se ejecuta una sola vez al pasar de STOP a RUN, antes que el OB1, y no debe llamarse desde otro módulo.
  • Existen tres tipos de comparadores según el formato: INT (16 bits), DINT (32 bits) y REAL (32 bits), con seis tipos de comparación.
  • Un comparador se comporta como un contacto que vale 1 cuando la comparación se cumple.

Ponte a prueba

Programación Estructurada en S7-300

Cuando realizamos un programa en el S7-300, normalmente lo haremos de forma estructurada. El programa lo tendremos en diferentes módulos y, en función del proceso, iremos realizando las llamadas a cada uno de ellos. 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 este se acaba de leer, el programa vuelve al segmento siguiente del módulo desde el que habíamos realizado la llamada.

Primero se crean las funciones y luego el OB1. (Ejercicio + nuevo objeto + función)

Finales en STEP 7

Aparte del final BE, existen otros dos finales: BEB y BEA.

  • BEB: Es un final condicional. Esto quiere decir que será un final o no dependiendo de si se cumple o no la condición (RLO) que tenemos antes del BEB. Si la condición se cumple, será un final de programa. Si la condición no se cumple, no será un final.
  • BEA: Es un final absoluto. Siempre que se lea la instrucción BEA terminará el programa. La diferencia con el BE es que podemos escribir detrás de él.

Comprobación del Funcionamiento del Watch Dog (Perro Guardián)

El Watch Dog es una especie de temporizador que controla el tiempo máximo que dura un Scan. Si el tiempo que dura un Scan es superior al que tenemos programado en el Watch Dog, el PLC se irá al estado de STOP. Se usa para evitar que el programa continúe ejecutándose indefinidamente en caso de que se entre en un bucle cerrado.

OB100: Módulo de Arranque

Este OB se ejecuta una vez durante un SCAN cuando el autómata pasa de STOP a RUN. El OB100 solo se ejecuta una sola vez cuando iniciamos la secuencia, es decir, solo lo lee una vez. El OB100 se ejecuta antes que el OB1. 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. 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. Tenemos que tener en cuenta que deberemos cargar por separado los OB1 y OB100.

Para crear el OB100:

Insertar nuevo objeto → Bloque de organización (el número 100)

Secuencia de carga: Paso de STOP a RUN, lectura OB100, lectura del OB1.

Instrucciones de Comparación

Tenemos tres tipos de comparadores, según los formatos a comparar:

  • Comparación entre dos números enteros. Formato INT (16 bits)
  • Comparación entre dos números doble enteros. Formato DINT (32 bits)
  • Comparación entre dos números reales. Formato REAL (32 bits)

Hay seis tipos de comparadores según el tipo de comparación. NOTA: Un comparador actúa como un contacto en el que hay valor 1 cuando se cumple la comparación.

Revisar la función UNSCALE (Trabajar con valores analógicos. Página 209 del PDF).

Descargar

PDF Word HTML

Preguntas frecuentes

¿Qué diferencia hay entre los finales BEB y BEA en STEP 7?

BEB es un final condicional que solo termina el programa si se cumple la condición RLO anterior. BEA es un final absoluto que termina siempre el programa y permite escribir instrucciones después de él.

¿Cuándo se ejecuta el OB100?

El OB100 se ejecuta una vez cuando el autómata pasa de STOP a RUN, antes que el OB1. No hay que llamarlo desde otro módulo, pero sí cargarlo en la CPU.

¿Qué hace el Watch Dog del S7-300?

Es un temporizador que controla el tiempo máximo de un scan. Si el scan dura más de lo programado, el PLC pasa al estado STOP, evitando bucles infinitos.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Qué módulo se ejecuta siempre en un programa estructurado del S7-300?
2. ¿Cuál es la diferencia principal entre BE y BEA?
3. ¿Qué ocurre si un scan supera el tiempo programado en el Watch Dog?
4. ¿Cuántas veces se ejecuta el OB100?
5. ¿Qué formato corresponde a los comparadores de números reales?
6. ¿Cuántos tipos de comparación existen según el documento?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.