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
- Contexto técnico del comportamiento en la CPU S7-300
- Bloques de interrupción y prevención de STOP
- Procedimiento de configuración paso a paso en STEP 7
- Notas prácticas para el piso de planta
- Errores comunes de configuración y diagnóstico
- Lista de verificación para la validación en runtime
- Preguntas frecuentes
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 elOB1de 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) yOB86_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
OB86en 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
OB86recié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
OB86en 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
OB86hacia la memoria de la CPU.
Notas prácticas para el piso de planta
- Falso sentido de seguridad: Cargar el
OB86evita 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
OB86con una lógica de supervisión complementaria (Watchdog o bit de vida) dentro delOB1para 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 PEWoT 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 elOB122no está cargado en la CPU, el controlador irá a STOP por error de acceso a entradas/salidas, invalidando el efecto delOB86. Cargue siempre tanto elOB86como elOB122de 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 + Den 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
- Interpretación de códigos de falla y Event IDs en el búfer de diagnóstico de SIMATIC S7 — Diagnóstico preciso mediante software.
- Configuración de esclavos PROFIBUS de terceros en hardware de Siemens — Integración óptima de archivos GSD.
Related Linked Tags
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
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