¿Por qué la CPU S7-300 va a STOP al caer el maestro PROFIBUS y cómo configurarlo?

Para evitar que una CPU S7-300 pase a modo STOP tras un fallo de comunicación en la red PROFIBUS, basta con crear e incorporar un bloque OB86 vacío dentro de la memoria de carga del controlador.

¿Por qué la CPU S7-300 va a STOP al caer el maestro PROFIBUS y cómo configurarlo?

Categoría: S7-300 / diagnóstico de redes | Tecnología: Siemens SIMATIC S7-300, STEP 7 Classic, PROFIBUS DP, OB86 | Tipo de artículo: Guía de configuración / resolución de fallas | Código: C137

Ayuda extra: S7-300 PROFIBUS diagnostics | Configure OB86 STEP 7 | PLC STOP mode prevention | SIMATIC Organization Blocks

Contexto: Prevención de paradas inesperadas en la CPU del PLC ante eventos de pérdida de nodos, fallas de bus o desconexiones físicas en redes de automatización industrial multimarca.

¿Por qué la CPU S7-300 va a STOP al caer el maestro PROFIBUS y cómo configurarlo?
Para evitar que una CPU S7-300 pase a modo STOP tras un fallo de comunicación en la red PROFIBUS, basta con crear e incorporar un bloque OB86 vacío dentro de la memoria de carga del controlador.

Tabla de Contenidos

Primeras comprobaciones antes de descargar bloques de organización

Nota de producción: La carga o modificación de bloques de organización (OB) altera directamente la gestión de excepciones de la CPU. Aunque añadir un OB de diagnóstico es una operación segura que se puede realizar en caliente (con el PLC en RUN), es fundamental validar que la pérdida de comunicación con el maestro no deje lógicas críticas desprotegidas en el programa esclavo.

  • Verifique el modelo exacto de la CPU (por ejemplo, CPU 315-2 DP) y la asignación de su dirección como esclavo en la red.
  • Confirme si se cuenta con la copia de seguridad actualizada del proyecto en STEP 7 Classic (SIMATIC Manager) o TIA Portal.
  • Asegúrese de que el fallo de bus no requiera una parada forzada de seguridad del proceso por motivos operativos de la planta.

Contexto técnico del comportamiento en la CPU S7-300

Por diseño de fábrica, el sistema operativo de las CPUs Siemens SIMATIC S7 gestiona las anomalías lógicas y de hardware de forma rigurosa. Cuando la CPU está configurada como un esclavo PROFIBUS DP y el enlace con el maestro se interrumpe de manera abrupta (por corte de energía, falla de cableado o desconexión del conector DB9), el procesador de comunicaciones del PLC detecta inmediatamente la pérdida del marco cíclico del bus de campo.

Esta contingencia dispara de forma interna un evento de interrupción por Falla de subestación o rack de expansión (Rack Failure / Submodule Failure). El procesador detiene la ejecución del ciclo ordinario del programa principal (OB1) y busca de inmediato en su memoria el bloque de organización específico asignado para mitigar este evento: el OB86. Si la CPU no encuentra este bloque precargado, el firmware ejecuta la directiva de protección por defecto: detiene el procesamiento de entradas/salidas y conmuta la CPU inmediatamente al modo STOP, encendiendo el LED rojo de falla de bus (BF) y el de STOP.

Bloques de interrupción y prevención de STOP

El entorno operativo de SIMATIC utiliza diferentes OBs para interceptar errores de hardware. Para blindar completamente la CPU ante caídas de comunicación PROFIBUS, se requiere entender la función de estos bloques:

Opción 1 — OB86 Vacío (Prevención de Parada Básica)

Es la estrategia estándar y más rápida de implementar en el piso de planta.

  • Comportamiento: Al ocurrir la desconexión del bus, el PLC llama al OB86. Al estar vacío, el bloque finaliza su procesamiento en un tiempo de ejecución despreciable (microsegundos) y devuelve el control a la CPU para que continúe ejecutando el OB1 de manera ordinaria sin interrumpir el proceso.
  • Ventaja: Solución inmediata al problema de la CPU en STOP sin necesidad de codificación.

Opción 2 — OB86 Programado (Diagnóstico Activo)

Consiste en leer las variables temporales locales que el sistema operativo inyecta automáticamente en la cabecera del bloque al ser disparado.

  • Comportamiento: Se evalúan variables como OB86_EV_CLASS (clase de evento), OB86_FLT_ID (código de falla) y OB86_MDL_ADDR (dirección lógica del módulo afectado). Con estos datos, se puede activar una alarma en pantallas HMI o conmutar señales lógicas para poner las salidas del PLC en un estado seguro.

Procedimiento de configuración paso a paso en STEP 7

Siga estos pasos dentro de SIMATIC Manager para evitar que la CPU interrumpa su ejecución ante problemas en la red externa:

1. Acceder a la carpeta de bloques del proyecto

  • Abra su proyecto en SIMATIC Manager.
  • Navegue en el árbol del proyecto hasta desplegar la estructura de la CPU: Programa S7 -> Blocks (Bloques).

2. Crear el Bloque de Organización OB86

  • Haga clic derecho sobre cualquier espacio en blanco en la lista de bloques.
  • Seleccione Insert New Object (Insertar nuevo objeto) -> Organization Block (Bloque de organización).
  • En el cuadro de diálogo, escriba exactamente OB86 en el campo del nombre. Puede elegir el lenguaje de programación de su preferencia (LAD, FBD o STL), ya que el bloque permanecerá limpio y sin instrucciones. Haga clic en aceptar.

3. Compilar y guardar el bloque

  • Abra el bloque OB86 recién creado haciendo doble clic sobre él.
  • Verifique que la cabecera contenga las variables de diagnóstico estructural estándar de Siemens. No añada ninguna línea de código en las redes lógicas.
  • Guarde el bloque y cierre el editor de código.

4. Cargar el bloque en la CPU S7-300

  • Seleccione el bloque OB86 en la pantalla principal de bloques.
  • Conecte su interfaz de programación (PC Adapter, CP, o tarjeta Ethernet) al puerto de la CPU y asegúrese de que el PLC esté accesible en línea.
  • Haga clic en el botón Download (Cargar) para transferir el OB86 hacia la memoria de la CPU.

Notas prácticas para el piso de planta

  • Falso sentido de seguridad: Cargar el OB86 evita que la CPU se apague, pero no repara el enlace de comunicaciones. Si su programa del PLC depende de los datos de entrada provenientes del maestro PROFIBUS no Siemens para ejecutar enclavamientos o lógicas de control, al caer la red esos valores de entrada quedarán congelados en el último estado recibido o se irán a cero (dependiendo de la configuración del maestro).
  • Mitigación obligatoria: Es altamente aconsejable acompañar la inserción del OB86 con una lógica de supervisión complementaria (Watchdog o bit de vida) dentro del OB1 para forzar a un estado seguro aquellas variables críticas que dejen de recibir actualizaciones del sistema maestro.

Errores comunes de configuración y diagnóstico

  • Olvidar el bloque OB122: Si su programa realiza lecturas o escrituras directas a la periferia del maestro PROFIBUS utilizando instrucciones de acceso a periferia (ej. L PEW o T PAW) fuera de la imagen de proceso cíclica, la pérdida del bus provocará un error de acceso a la periferia. Esto disparará una solicitud del bloque OB122. Si el OB122 no está cargado en la CPU, el controlador irá a STOP por error de acceso a entradas/salidas, invalidando el efecto del OB86. Cargue siempre tanto el OB86 como el OB122 de forma simultánea.
  • Ignorar el búfer de diagnóstico: Tratar de descifrar por qué el PLC fue a STOP basándose solo en los LEDs físicos de la carcasa. Utilice la combinación de teclas Ctrl + D en SIMATIC Manager para abrir el Diagnostic Buffer (Búfer de diagnóstico) en línea y certificar el Event ID de la falla antes de proceder.

Lista de verificación para la validación en runtime

¿Se cargó exitosamente el bloque OB86 en la carpeta "Online" de la CPU S7-300? ☐ Sí ☐ No ☐ Requiere revisión

¿Se incorporó también el bloque OB122 en la CPU para prevenir fallas por direccionamiento de periferia? ☐ Sí ☐ No ☐ Requiere revisión

¿Existe una lógica alternativa en OB1 que actúe si las entradas del maestro quedan congeladas? ☐ Sí ☐ No ☐ Requiere revisión

FAQ

¿Es completamente seguro dejar el bloque OB86 vacío sin ninguna instrucción en su interior? Sí, es la práctica estándar en la ingeniería de control para Siemens clásico. Al dejarse vacío, el bloque cumple la función técnica de "absorber" la excepción del sistema operativo. La CPU registra la falla en su búfer histórico de eventos y continúa operando de forma continua en RUN sin perturbaciones.

¿Qué otros bloques de diagnóstico se recomiendan cargar junto con el OB86 para blindar el PLC? Además del OB86 (fallas de racks/buses) y el OB122 (errores de acceso a la periferia), es muy recomendable cargar de manera preventiva los bloques OB82 (alarma de diagnóstico de módulos) y OB121 (errores de programación o llamada a bloques inexistentes). Con este conjunto de bloques, el PLC se vuelve sumamente resiliente ante contingencias físicas y lógicas.

¿Cómo puedo verificar que el OB86 está funcionando correctamente si no puedo apagar el maestro en producción? Puede realizar una prueba controlada desconectando físicamente el conector PROFIBUS DB9 asignado a la CPU esclava durante una ventana de mantenimiento. El LED rojo BF (Bus Fault) de la CPU parpadeará inmediatamente indicando la pérdida de red, pero el indicador de estado RUN debe permanecer encendido en color verde fijo si el bloque está operando de forma correcta.

Próximos pasos y artículos relacionados

Related Linked Tags

S7-300

PROFIBUS DP

OB86

STEP 7

SIMATIC Manager

Contact / Support

¿Necesita asistencia en campo para resolver problemas crónicos de paradas en controladores SIMATIC o requiere apoyo para estructurar los bloques de diagnóstico de su planta?

Solicite el apoyo de nuestro departamento de ingeniería de automatización: [email protected]

Technical Classification

Category: S7-300 / PROFIBUS Diagnostics

Technology: Siemens SIMATIC S7-300, PROFIBUS DP, STEP 7 Classic, OB86

Object Type: Organization Block OB86 / Diagnostic Fault Matrix

Use Case: Prevención de caídas a modo STOP en la CPU S7-300 ante desconexiones de red y fallas de comunicación con maestros de terceros

Article Type: Configuration Guide / Troubleshooting Guide

Primary Search Intent: Profibus communication error s7-300 cpu stop ob86

Related Search Phrases: * How to configure OB86 in STEP 7 to prevent PLC STOP