Al compilar diagramas CFC (Continuous Function Charts) recién agregados en SIMATIC PCS 7, las advertencias que indican bloques insertados en OB1 o secuencias de ejecución no optimizadas no bloquearán la compilación ni impedirán la descarga de cambios al Sistema de automatización (AS). Sin embargo, ejecutar bloques de control de procesos dentro del bloque de organización de fondo no determinista OB1 degrada la sincronización de los algoritmos, causa fluctuaciones (jitter) en los bucles PID y temporizadores de pulsos, y arriesga sobrecargas en el ciclo del controlador. Para evitar anomalías en tiempo de ejecución, debe ajustar el puntero de inserción del predecesor en el editor de secuencia de ejecución de CFC, mover los bloques de procesos a tareas de interrupción cíclica deterministas (OB30 a OB38) y resolver las referencias de texto abiertas antes de realizar la descarga.
Índice de contenidos
- Comprensión de las advertencias frente a los errores del compilador CFC
- Riesgos de ejecutar bloques de procesos en el bloque de organización 1 (OB1)
- Método: Reorganización de secuencias de ejecución y establecimiento de predecesores
- Gestión de referencias de texto abiertas y enlaces entre diagramas
- Verificación
- Limitaciones y precauciones operativas
- Preguntas frecuentes para ingenieros
- Referencias técnicas
- Artículos relacionados
- Etiquetas relacionadas
Comprensión de las advertencias frente a los errores del compilador CFC
El compilador CFC de SIMATIC PCS 7 evalúa la lógica de los diagramas, las asignaciones de tareas y las interconexiones de señales antes de generar el código de máquina ejecutable (bloques SCL/de máquina). Cuando finaliza la compilación, el compilador genera un registro que categoriza los hallazgos en Errores y Advertencias:
- Errores de compilación (Rojos): Fallas estructurales graves como interconexiones de tipos de datos no válidas, tipos de bloques faltantes o límites de datos locales excedidos. La compilación se aborta; no se genera código ejecutable y se bloquea la descarga a la CPU.
- Advertencias de compilación (Amarillas): Indicadores informativos que resaltan configuraciones no óptimas, entradas de diagramas no enlazadas (referencias de texto abiertas) o la inserción de bloques en grupos de ejecución inesperados. La generación de código de máquina se realiza con éxito y los cambios se pueden descargar a la CPU en modo RUN.
Si bien las advertencias permiten que la compilación continúe con 0 Errores, N Advertencias, ignorarlas introduce frecuentemente fallas operativas insidiosas en plantas de procesos reales.
Riesgos de ejecutar bloques de procesos en el bloque de organización 1 (OB1)
Una advertencia común generada al agregar nuevos diagramas es: Block was inserted into task OB1 without cyclic execution.
En los modelos de ejecución estándar de SIMATIC S7-400 y AS 410, los bloques de organización cumplen funciones de planificación distintas:
1. OB1 (Ejecución cíclica): Se ejecuta como procesamiento en segundo plano durante los ciclos de inactividad de la CPU. La duración de su ejecución de ciclo fluctúa continuamente según la carga de comunicación, las ráfagas de alarmas y las interrupciones de mayor prioridad.
2. OB30 a OB38 (Interrupciones cíclicas): Se ejecutan a intervalos de milisegundos precisos y deterministas (por ejemplo, OB35 se ejecuta a 100 ms; OB32 a 1000 ms).
Las librerías de control de procesos (como SIMATIC PCS 7 Advanced Process Library - APL) calculan acciones integrales y derivativas en función de parámetros de tiempo de muestreo fijos (SAMPLE_T). Si un monitor analógico (MonAnL) o controlador PID (PIDConL) se ejecuta en OB1, su intervalo de ejecución real varía ampliamente del SAMPLE_T configurado. Esta discrepancia hace que los cálculos de temporización se desvíen, los filtros distorsionen las variables de proceso y las alarmas se retrasen.
Método: Reorganización de secuencias de ejecución y establecimiento de predecesores
Para eliminar las advertencias de OB1 y garantizar que los bloques recién agregados se ejecuten de forma determinista:
- En SIMATIC Manager, abra el diagrama CFC de destino.
- Abra el Editor de secuencia de ejecución seleccionando Editar > Secuencia de ejecución (o haciendo clic en el icono de secuencia de ejecución en la barra de herramientas).
- En el panel de navegación izquierdo, expanda el árbol de ejecución para revisar las asignaciones de tareas. Localice los bloques colocados erróneamente bajo
OB1. - Determine la tarea de interrupción cíclica adecuada según la velocidad de control:
- Lazos cerrados rápidos (presión, caudal): OB35 (típicamente 100 ms).
- Lazos de control estándar y bloques de motores/válvulas: OB34 (típicamente 200 ms) o OB35.
- Monitoreo lento y totalizadores: OB32 (típicamente 1000 ms). - Arrastre y suelte el grupo de ejecución o el bloque individual desde
OB1a la tarea de interrupción cíclica seleccionada. - Haga clic derecho en el grupo recién posicionado y seleccione Predecesor para la posición de inserción. Esto garantiza que los bloques posteriores colocados en este diagrama hereden automáticamente la asignación de OB determinista.
- Vuelva a compilar el diagrama CFC a través de Diagrama > Compilar > Objetos seleccionando Solo cambios. Confirme que el recuento de advertencias se reduce a cero.
Gestión de referencias de texto abiertas y enlaces entre diagramas
Otra advertencia frecuente durante el desarrollo de diagramas es: Open text reference exists for interconnection.
Esto ocurre cuando una entrada está interconectada a un diagrama o parámetro que aún no existe, o cuando un diagrama socio interconectado fue eliminado o renombrado. El editor CFC conserva la cadena de texto de destino (por ejemplo, Plant1/Unit2/Valve1.Out) como una referencia no enlazada.
Para resolver las referencias de texto abiertas:
1. Haga doble clic en la línea de advertencia en el registro de compilación de CFC. El editor salta directamente al pin del bloque marcado.
2. Si se ha creado el diagrama socio, haga clic derecho en el pin de referencia de texto abierto y seleccione Cerrar referencia de texto. El compilador resuelve el nombre de texto al pin de bloque real.
3. Si la interconexión es obsoleta, seleccione el pin y elimine la referencia de texto.
4. Si el diagrama de destino reside en otro AS dentro del multiproyecto, cree una interconexión entre AS o configure un par de bloques de comunicación S7 (BSEND/BRCV).
Verificación
Para verificar que la limpieza de la compilación de CFC se realizó correctamente:
- En el editor CFC, seleccione Diagrama > Compilar > Diagramas como programa.
- Seleccione Ámbito: Solo cambios y haga clic en Aceptar.
- Inspeccione el registro de compilación:
- Asegúrese de que el resumen indique:0 Errores, 0 Advertencias. - En SIMATIC Manager, abra la vista en línea de la CPU del AS y seleccione PLC > Información de módulo > Datos de rendimiento.
- Verifique que los tiempos de ejecución para OB30 a OB38 se mantengan dentro del 50% de sus tiempos de ciclo configurados, asegurando un margen adecuado para el procesamiento de interrupciones.
Limitaciones y precauciones operativas
- Sobrecarga de exploración de la CPU: Mover decenas de bloques recién agregados a una tarea cíclica de alta frecuencia (como OB35 o OB36) sin verificar la capacidad de la CPU puede provocar desbordamientos del ciclo de exploración de la CPU y hacer que el controlador entre en modo STOP.
- Límites de descarga en línea: En PCS 7, la reorganización de secuencias de ejecución a través de diferentes bloques de organización es totalmente compatible en descargas de cambios en línea (CiR). Sin embargo, la modificación de las fases de ejecución de bloques estándar a través de los límites de OB debe programarse durante la operación estable de la planta.
- Orden de ejecución de grupos en tiempo de ejecución: Asegúrese de que los bloques de controladores (
Pcs7AnIn,Pcs7DiIn) se ejecuten antes que los bloques tecnológicos (MotL,VlvL), y que los controladores de salida se ejecuten al final dentro de la misma tarea.
Preguntas frecuentes para ingenieros
¿Puedo descargar con seguridad un programa CFC que contenga advertencias del compilador?
Sí, las advertencias de compilación no inhiben la generación de código ni bloquean la descarga. Sin embargo, debe inspeccionar cada advertencia para verificar que no represente un enclavamiento crítico no enlazado o una asignación de tareas no determinista.
¿Por qué PCS 7 colocó los bloques de mi diagrama recién creado en OB1 por defecto?
Si el puntero de inserción del predecesor se estableció en un bloque en OB1 (o se borró), el editor CFC asigna los bloques recién instanciados a OB1 por defecto. Establecer el puntero del predecesor dentro de una tarea de interrupción cíclica garantiza que los bloques futuros hereden esa tarea.
¿Cambiar la secuencia de ejecución de un bloque requiere un reinicio del Sistema de automatización?
No. PCS 7 admite la descarga de ajustes de secuencia de ejecución en línea a través de Cargar en línea (cambios) sin detener la CPU.
Referencias técnicas
- Entrada de Siemens Industry Online Support ID 109742323: SIMATIC Process Control System PCS 7 CFC for S7
- Entrada de Siemens Industry Online Support ID 109809264: SIMATIC PCS 7 Advanced Process Library (APL) Function Manual
- Manual del sistema de ingeniería SIMATIC PCS 7 (N.º de documento A5E00278782)
Artículos relacionados
- https://industrialautomation.net/search?query=pcs7+cfc+compilation+warnings
- https://industrialautomation.net/search?query=ob1+cyclic+interrupt+timing+jitter
- https://industrialautomation.net/search?query=pcs7+run+sequence+editor+predecessor
Etiquetas relacionadas
- https://industrialautomation.net/search?query=simatic+pcs7
- https://industrialautomation.net/search?query=cfc+engineering
- https://industrialautomation.net/search?query=run+sequence
- https://industrialautomation.net/search?query=s7-400