Introducción

En los PLC Siemens S7-1200, la CPU utiliza un sistema interno de prioridades para atender interrupciones y eventos concurrentes. Este sistema se conoce como IPP (Interrupt Processing Priorities) y define qué tipo de evento se ejecuta primero cuando ocurren varios al mismo tiempo.

Los IPP no se configuran de forma directa en TIA Portal. El nivel de prioridad se asigna automáticamente según el tipo de Organization Block (OB) que se esté ejecutando.


Qué son los IPP en el S7-1200

Los IPP (IPP1, IPP2, IPP3 e IPP4) son niveles internos de prioridad utilizados por la CPU del S7-1200 para gestionar la ejecución de interrupciones.

Un OB con mayor prioridad puede interrumpir la ejecución de un OB de menor prioridad. Un OB de menor prioridad no puede interrumpir a uno superior.


Relación entre OB, interrupciones y prioridad

En el S7-1200 existe una relación directa entre el tipo de OB, el tipo de interrupción y el nivel IPP asignado por la CPU.

Tipo de OB ? Tipo de interrupción ? Nivel IPP


IPP1 – Prioridad más alta

Corresponde a interrupciones de hardware y eventos de tiempo real.

OB comunes:

  • OB40: interrupción de hardware por entradas digitales
  • OB41: interrupciones analógicas o eventos rápidos
  • OB tecnológicos: HSC, PTO, Motion Control

Estos OB pueden interrumpir cualquier otro OB y deben contener lógica mínima.


IPP2 – Prioridad alta

Asignado a interrupciones temporizadas y eventos rápidos de proceso.

OB comunes:

  • OB30 a OB38: interrupciones cíclicas temporizadas
  • OB61 a OB64: comunicación y funciones tecnológicas

Pueden interrumpir OB de menor prioridad, pero no a IPP1.


IPP3 – Prioridad media

Nivel correspondiente al programa cíclico principal.

OB común:

  • OB1: programa principal del PLC

Aquí se ejecuta la lógica normal del proceso y las llamadas a FC, FB y DB.


IPP4 – Prioridad baja

Asignado a funciones de diagnóstico y manejo de errores.

OB comunes:

  • OB82: diagnóstico
  • OB83: error de módulo
  • OB86: fallo de rack
  • OB121: error de programación
  • OB122: error de acceso

Estos OB no interrumpen la ejecución del programa principal.


Comportamiento de ejecución

Cuando ocurre una interrupción, la CPU pausa el OB de menor prioridad, ejecuta el OB de mayor prioridad y, al finalizar, continúa el programa desde el punto donde fue interrumpido.


Recomendaciones de programación

  • Mantener los OB de interrupción lo más cortos posible
  • Evitar bucles, comunicación y cálculos complejos en OB de alta prioridad
  • Ejecutar la lógica de proceso en OB1 o en bloques llamados desde él
  • Usar interrupciones solo cuando el proceso lo requiera

Imagen sugerida

Nombre de archivo:
ipp-s7-1200-prioridades-interrupciones-ob.png

Texto ALT:
Diagrama de prioridades IPP y bloques OB en PLC Siemens S7-1200

Descripción:
Esquema que muestra la relación entre los niveles IPP y los Organization Blocks en un S7-1200.