Files
2026-07-24 09:01:52 +02:00

38 KiB

ZC_ESTANDAR_ALIMENTACION


Codigos para commits:

  • refactor: Cambios en el código que no añaden funciones ni arreglan fallos, sino que mejoran su estructura interna.

    • Ej: refactor: reescribe los cálculos de PID en SCL para simplificar el bloque
  • perf: (Performance) Modificaciones enfocadas exclusivamente en mejorar el rendimiento.

    • Ej: perf: optimiza las llamadas en el OB1 para reducir el tiempo de ciclo
  • docs: Cambios únicamente en documentación (archivos Markdown, manuales, comentarios extensos).

    • Ej: docs: actualiza las tablas de memoria Modbus en la Wiki
  • test: Añadir o corregir código destinado exclusivamente a pruebas.

    • Ej: test: añade DBs y funciones de simulación analógica para las pruebas FAT
  • chore: (Mantenimiento rutinario) Limpieza general, actualizaciones de variables internas o de herramientas que no afectan al código que corre en producción.

    • Ej: chore: limpia marcas de memoria sin utilizar en la tabla de variables
  • build: / ci: Cambios en los archivos de configuración externos o de automatización.

    • Ej: ci: modifica el archivo YAML para compilar ejecutables de Python

El modificador crítico: Las paradas de planta (Breaking Changes) En automatización industrial, hay modificaciones que son delicadas porque rompen la retrocompatibilidad: cambiar la estructura de un bloque de datos (DB) que obliga a reiniciarlo, alterar los pines de entrada/salida de un FB maestro, o modificar el hardware.

En Conventional Commits, esto se marca añadiendo un signo de exclamación ! justo antes de los dos puntos:

  • feat!: modifica el DB de interfaz principal con el SCADA

  • refactor!: cambia el tipo de dato de INT a REAL en la entrada del motor


Índice del análisis TIA Portal

Documentación por carpeta

Criterio de análisis

Para cada fuente se documentan propósito, interfaz, dependencias y lógica clave. La información funcional embebida por el autor en ### Descripción Funcional se conserva como fuente primaria; cuando no existe se genera una interpretación explícita basada en tipo, nombre, regiones, comentarios y estructuras de control.

Limitaciones

Este resultado es análisis estático de una exportación: no sustituye una referencia cruzada compilada de TIA Portal. Las instrucciones de sistema, bloques protegidos/no exportados y llamadas indirectas pueden carecer de implementación local.


Mapa de dependencias

Relación estática obtenida de llamadas y referencias explícitas en los .s7dcl. Una flecha A → B significa que A llama o utiliza B. Los accesos dinámicos por dirección, reflexión o librerías no exportadas pueden no quedar resueltos.

Flujo principal de ejecución

flowchart TD
    N_FC11000_GESTOR_COM["FC11000_GESTOR_COM"] --> N_DB11000_SEC_S7COM["DB11000_SEC_S7COM"]
    N_FC11000_GESTOR_COM["FC11000_GESTOR_COM"] --> N_DB1_SYS["DB1_SYS"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_DB1_SYS["DB1_SYS"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_DB3_CHECKSUM["DB3_CHECKSUM"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_DB6_ENTIDAD["DB6_ENTIDAD"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_FB3_ZC_CHECKSUM["FB3_ZC_CHECKSUM"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"]
    N_FC5000_GNR_ALM["FC5000_GNR_ALM"] --> N_DB1_SYS["DB1_SYS"]
    N_FC5000_GNR_ALM["FC5000_GNR_ALM"] --> N_DB5000_GNR_ALM["DB5000_GNR_ALM"]
    N_FC5000_GNR_ALM["FC5000_GNR_ALM"] --> N_FC17_ZC_GEST_ALM["FC17_ZC_GEST_ALM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_DB1_SYS["DB1_SYS"]
    N_FC50_MAIN["FC50_MAIN"] --> N_DB2717_INST_M_SINA["DB2717_INST_M_SINA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_DB3000_GNR_PARAM["DB3000_GNR_PARAM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC11000_GESTOR_COM["FC11000_GESTOR_COM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC11_ZC_INF_GESTOR["FC11_ZC_INF_GESTOR"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC15_ZC_GEST_PREAL["FC15_ZC_GEST_PREAL"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC16_ZC_GEST_PINT["FC16_ZC_GEST_PINT"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2000_ZC_ED["FC2000_ZC_ED"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2001_ZC_EA["FC2001_ZC_EA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2005_ZC_SD["FC2005_ZC_SD"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2006_ZC_SA["FC2006_ZC_SA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2010_ZC_V["FC2010_ZC_V"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2015_ZC_M["FC2015_ZC_M"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2016_ZC_M_VF["FC2016_ZC_M_VF"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2025_ZC_TOT["FC2025_ZC_TOT"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2026_ZC_FF["FC2026_ZC_FF"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2027_ZC_FF_SEC["FC2027_ZC_FF_SEC"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2028_ZC_TEMP["FC2028_ZC_TEMP"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2037_ZC_MEDIA["FC2037_ZC_MEDIA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2038_ZC_MEDIA_VOL["FC2038_ZC_MEDIA_VOL"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2041_ZC_TQ_AE["FC2041_ZC_TQ_AE"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2800_ZC_ED_MUX["FC2800_ZC_ED_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2801_ZC_EA_MUX["FC2801_ZC_EA_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2805_ZC_SD_MUX["FC2805_ZC_SD_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2806_ZC_SA_MUX["FC2806_ZC_SA_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2810_ZC_V_MUX["FC2810_ZC_V_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2815_ZC_M_MUX["FC2815_ZC_M_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2816_ZC_M_VF_MUX["FC2816_ZC_M_VF_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2817_ZC_M_SINA_MUX["FC2817_ZC_M_SINA_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2825_ZC_TOT_MUX["FC2825_ZC_TOT_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2835_ZC_PID_MUX["FC2835_ZC_PID_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2840_ZC_TQ_MUX["FC2840_ZC_TQ_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2841_ZC_TQ_AE_MUX["FC2841_ZC_TQ_AE_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC5000_GNR_ALM["FC5000_GNR_ALM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC55_PROGRAMA_USUARIO["FC55_PROGRAMA_USUARIO"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC60_GESTOR_BALIZAS["FC60_GESTOR_BALIZAS"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC7_ZC_TRZ_GESTOR["FC7_ZC_TRZ_GESTOR"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"]
    N_FC60_GESTOR_BALIZAS["FC60_GESTOR_BALIZAS"] --> N_DB5000_GNR_ALM["DB5000_GNR_ALM"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB1_SYS["DB1_SYS"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2000_ED["DB2000_ED"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2001_EA["DB2001_EA"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2005_SD["DB2005_SD"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2006_SA["DB2006_SA"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2010_V["DB2010_V"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2015_M["DB2015_M"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2017_M_SINA["DB2017_M_SINA"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2041_TQ_AE["DB2041_TQ_AE"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2800_ED_MUX["DB2800_ED_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2801_EA_MUX["DB2801_EA_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2805_SD_MUX["DB2805_SD_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2806_SA_MUX["DB2806_SA_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2810_V_MUX["DB2810_V_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2815_M_MUX["DB2815_M_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2816_M_VF_MUX["DB2816_M_VF_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2817_M_SINA_MUX["DB2817_M_SINA_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2825_TOT_MUX["DB2825_TOT_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2835_PID_MUX["DB2835_PID_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2840_TQ_MUX["DB2840_TQ_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2841_TQ_AE_MUX["DB2841_TQ_AE_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"]
    N_OB1_MAIN["OB1_MAIN"] --> N_FC50_MAIN["FC50_MAIN"]
    N_OB30_PID_100MS["OB30_PID_100MS"] --> N_DB2035_PID["DB2035_PID"]

Grafo completo por capas

El grafo completo se divide para mantener Mermaid legible.

Bloques de programa

flowchart LR
    N_OB30_PID_100MS["OB30_PID_100MS"] --> N_DB2035_PID["DB2035_PID"]

Bloques de programa/11000_Comunicaciones

flowchart LR
    N_FC11000_GESTOR_COM["FC11000_GESTOR_COM"] --> N_DB11000_SEC_S7COM["DB11000_SEC_S7COM"]
    N_FC11000_GESTOR_COM["FC11000_GESTOR_COM"] --> N_DB1_SYS["DB1_SYS"]

Bloques de programa/5000_AlarmasGenerales

flowchart LR
    N_FC5000_GNR_ALM["FC5000_GNR_ALM"] --> N_DB1_SYS["DB1_SYS"]
    N_FC5000_GNR_ALM["FC5000_GNR_ALM"] --> N_DB5000_GNR_ALM["DB5000_GNR_ALM"]
    N_FC5000_GNR_ALM["FC5000_GNR_ALM"] --> N_FC17_ZC_GEST_ALM["FC17_ZC_GEST_ALM"]

Bloques de programa/60_Balizas

flowchart LR
    N_FC60_GESTOR_BALIZAS["FC60_GESTOR_BALIZAS"] --> N_DB5000_GNR_ALM["DB5000_GNR_ALM"]

Bloques de programa/9_Gestor_Dispositivos

flowchart LR
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB1_SYS["DB1_SYS"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2000_ED["DB2000_ED"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2001_EA["DB2001_EA"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2005_SD["DB2005_SD"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2006_SA["DB2006_SA"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2010_V["DB2010_V"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2015_M["DB2015_M"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2017_M_SINA["DB2017_M_SINA"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2041_TQ_AE["DB2041_TQ_AE"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2800_ED_MUX["DB2800_ED_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2801_EA_MUX["DB2801_EA_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2805_SD_MUX["DB2805_SD_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2806_SA_MUX["DB2806_SA_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2810_V_MUX["DB2810_V_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2815_M_MUX["DB2815_M_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2816_M_VF_MUX["DB2816_M_VF_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2817_M_SINA_MUX["DB2817_M_SINA_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2825_TOT_MUX["DB2825_TOT_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2835_PID_MUX["DB2835_PID_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2840_TQ_MUX["DB2840_TQ_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_DB2841_TQ_AE_MUX["DB2841_TQ_AE_MUX"]
    N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"] --> N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"]

Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_Datos

flowchart LR
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_DB1_SYS["DB1_SYS"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_DB3_CHECKSUM["DB3_CHECKSUM"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_DB6_ENTIDAD["DB6_ENTIDAD"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_FB3_ZC_CHECKSUM["FB3_ZC_CHECKSUM"]
    N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"] --> N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"]

Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_DiagnosticoHardware

flowchart LR
    N_OB100_Startup["OB100_Startup"] --> N_DB1_SYS["DB1_SYS"]

Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_Gestor

flowchart LR
    N_FC50_MAIN["FC50_MAIN"] --> N_DB1_SYS["DB1_SYS"]
    N_FC50_MAIN["FC50_MAIN"] --> N_DB2717_INST_M_SINA["DB2717_INST_M_SINA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_DB3000_GNR_PARAM["DB3000_GNR_PARAM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC11000_GESTOR_COM["FC11000_GESTOR_COM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC11_ZC_INF_GESTOR["FC11_ZC_INF_GESTOR"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC15_ZC_GEST_PREAL["FC15_ZC_GEST_PREAL"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC16_ZC_GEST_PINT["FC16_ZC_GEST_PINT"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC1_ZC_SISTEMA["FC1_ZC_SISTEMA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2000_ZC_ED["FC2000_ZC_ED"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2001_ZC_EA["FC2001_ZC_EA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2005_ZC_SD["FC2005_ZC_SD"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2006_ZC_SA["FC2006_ZC_SA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2010_ZC_V["FC2010_ZC_V"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2015_ZC_M["FC2015_ZC_M"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2016_ZC_M_VF["FC2016_ZC_M_VF"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2025_ZC_TOT["FC2025_ZC_TOT"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2026_ZC_FF["FC2026_ZC_FF"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2027_ZC_FF_SEC["FC2027_ZC_FF_SEC"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2028_ZC_TEMP["FC2028_ZC_TEMP"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2037_ZC_MEDIA["FC2037_ZC_MEDIA"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2038_ZC_MEDIA_VOL["FC2038_ZC_MEDIA_VOL"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2041_ZC_TQ_AE["FC2041_ZC_TQ_AE"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2800_ZC_ED_MUX["FC2800_ZC_ED_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2801_ZC_EA_MUX["FC2801_ZC_EA_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2805_ZC_SD_MUX["FC2805_ZC_SD_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2806_ZC_SA_MUX["FC2806_ZC_SA_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2810_ZC_V_MUX["FC2810_ZC_V_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2815_ZC_M_MUX["FC2815_ZC_M_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2816_ZC_M_VF_MUX["FC2816_ZC_M_VF_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2817_ZC_M_SINA_MUX["FC2817_ZC_M_SINA_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2825_ZC_TOT_MUX["FC2825_ZC_TOT_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2835_ZC_PID_MUX["FC2835_ZC_PID_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2840_ZC_TQ_MUX["FC2840_ZC_TQ_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC2841_ZC_TQ_AE_MUX["FC2841_ZC_TQ_AE_MUX"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC5000_GNR_ALM["FC5000_GNR_ALM"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC55_PROGRAMA_USUARIO["FC55_PROGRAMA_USUARIO"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC60_GESTOR_BALIZAS["FC60_GESTOR_BALIZAS"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC7_ZC_TRZ_GESTOR["FC7_ZC_TRZ_GESTOR"]
    N_FC50_MAIN["FC50_MAIN"] --> N_FC9_DISPOSITIVOS["FC9_DISPOSITIVOS"]
    N_OB1_MAIN["OB1_MAIN"] --> N_FC50_MAIN["FC50_MAIN"]

Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Calculos

flowchart LR
    N_FB15102_ZC_CALCULO_FCV_UF["FB15102_ZC_CALCULO_FCV_UF"] --> N_FC2928_ZC_TON_INDV["FC2928_ZC_TON_INDV"]
    N_FB15102_ZC_CALCULO_FCV_UF["FB15102_ZC_CALCULO_FCV_UF"] --> N_UDT_ZC_DISP_TON["UDT_ZC_DISP_TON"]
    N_FB15106_ZC_CALCULO_LIMP_4_MOD["FB15106_ZC_CALCULO_LIMP_4_MOD"] --> N_UDT_ZC_DISP_TON["UDT_ZC_DISP_TON"]

Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Contadores

flowchart LR
    N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FC15027_ZC_CONTADOR_MINUTOS["FC15027_ZC_CONTADOR_MINUTOS"] --> N_UDT_ZC_CONTADOR_MINUTOS["UDT_ZC_CONTADOR_MINUTOS"]

Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Conversiones

flowchart LR
    N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"] --> N_UDT_ZC_FECHA["UDT_ZC_FECHA"]

Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Pulsadores

flowchart LR
    N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"] --> N_UDT_ZC_PULSADOR["UDT_ZC_PULSADOR"]

Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Estandar

flowchart LR
    N_FB15049_ZC_AIRE_ESTERIL["FB15049_ZC_AIRE_ESTERIL"] --> N_DB1_SYS["DB1_SYS"]
    N_FB15049_ZC_AIRE_ESTERIL["FB15049_ZC_AIRE_ESTERIL"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FB15049_ZC_AIRE_ESTERIL["FB15049_ZC_AIRE_ESTERIL"] --> N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"]
    N_FB15049_ZC_AIRE_ESTERIL["FB15049_ZC_AIRE_ESTERIL"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FB15049_ZC_AIRE_ESTERIL["FB15049_ZC_AIRE_ESTERIL"] --> N_UDT_ZC_PRO_TIEMPO_ETAPA["UDT_ZC_PRO_TIEMPO_ETAPA"]
    N_FB15049_ZC_AIRE_ESTERIL["FB15049_ZC_AIRE_ESTERIL"] --> N_UDT_ZC_PULSADOR["UDT_ZC_PULSADOR"]
    N_FB2017_ZC_M_SINA["FB2017_ZC_M_SINA"] --> N_DB2017_M_SINA["DB2017_M_SINA"]
    N_FB2017_ZC_M_SINA["FB2017_ZC_M_SINA"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FB2017_ZC_M_SINA["FB2017_ZC_M_SINA"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2000_ZC_ED["FC2000_ZC_ED"] --> N_DB2000_ED["DB2000_ED"]
    N_FC2000_ZC_ED["FC2000_ZC_ED"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2001_ZC_EA["FC2001_ZC_EA"] --> N_DB2001_EA["DB2001_EA"]
    N_FC2001_ZC_EA["FC2001_ZC_EA"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2005_ZC_SD["FC2005_ZC_SD"] --> N_DB2005_SD["DB2005_SD"]
    N_FC2005_ZC_SD["FC2005_ZC_SD"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2006_ZC_SA["FC2006_ZC_SA"] --> N_DB2006_SA["DB2006_SA"]
    N_FC2006_ZC_SA["FC2006_ZC_SA"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2010_ZC_V["FC2010_ZC_V"] --> N_DB1_SYS["DB1_SYS"]
    N_FC2010_ZC_V["FC2010_ZC_V"] --> N_DB2010_V["DB2010_V"]
    N_FC2010_ZC_V["FC2010_ZC_V"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2015_ZC_M["FC2015_ZC_M"] --> N_DB2015_M["DB2015_M"]
    N_FC2015_ZC_M["FC2015_ZC_M"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FC2015_ZC_M["FC2015_ZC_M"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2016_ZC_M_VF["FC2016_ZC_M_VF"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FC2016_ZC_M_VF["FC2016_ZC_M_VF"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FC2016_ZC_M_VF["FC2016_ZC_M_VF"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2025_ZC_TOT["FC2025_ZC_TOT"] --> N_DB2025_TOT["DB2025_TOT"]
    N_FC2026_ZC_FF["FC2026_ZC_FF"] --> N_DB2026_FF["DB2026_FF"]
    N_FC2027_ZC_FF_SEC["FC2027_ZC_FF_SEC"] --> N_DB2027_FF_SEC["DB2027_FF_SEC"]
    N_FC2027_ZC_FF_SEC["FC2027_ZC_FF_SEC"] --> N_UDT_ZC_DISP_FF_SEC["UDT_ZC_DISP_FF_SEC"]
    N_FC2028_ZC_TEMP["FC2028_ZC_TEMP"] --> N_DB2028_TEMP["DB2028_TEMP"]
    N_FC2037_ZC_MEDIA["FC2037_ZC_MEDIA"] --> N_DB2037_MEDIA["DB2037_MEDIA"]
    N_FC2038_ZC_MEDIA_VOL["FC2038_ZC_MEDIA_VOL"] --> N_DB2038_MEDIA_VOL["DB2038_MEDIA_VOL"]
    N_FC2038_ZC_MEDIA_VOL["FC2038_ZC_MEDIA_VOL"] --> N_UDT_ZC_DISP_MEDIA_VOLUMEN["UDT_ZC_DISP_MEDIA_VOLUMEN"]
    N_FC2041_ZC_TQ_AE["FC2041_ZC_TQ_AE"] --> N_DB1_SYS["DB1_SYS"]
    N_FC2041_ZC_TQ_AE["FC2041_ZC_TQ_AE"] --> N_DB2041_TQ_AE["DB2041_TQ_AE"]
    N_FC2041_ZC_TQ_AE["FC2041_ZC_TQ_AE"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]

Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales

flowchart LR
    N_FC2926_ZC_FF_INDV["FC2926_ZC_FF_INDV"] --> N_UDT_ZC_DISP_FF["UDT_ZC_DISP_FF"]
    N_FC2927_ZC_FF_SEC_INDV["FC2927_ZC_FF_SEC_INDV"] --> N_UDT_ZC_DISP_FF_SEC["UDT_ZC_DISP_FF_SEC"]
    N_FC2928_ZC_TON_INDV["FC2928_ZC_TON_INDV"] --> N_UDT_ZC_DISP_TON["UDT_ZC_DISP_TON"]
    N_FC2929_ZC_TOF_INDV["FC2929_ZC_TOF_INDV"] --> N_UDT_ZC_DISP_TOF["UDT_ZC_DISP_TOF"]
    N_FC2930_ZC_TONR_INDV["FC2930_ZC_TONR_INDV"] --> N_UDT_ZC_DISP_TONR["UDT_ZC_DISP_TONR"]
    N_FC2931_ZC_TP_INDV["FC2931_ZC_TP_INDV"] --> N_UDT_ZC_DISP_TP["UDT_ZC_DISP_TP"]
    N_FC2935_ZC_PID_INDV["FC2935_ZC_PID_INDV"] --> N_DB2035_PID["DB2035_PID"]
    N_FC2935_ZC_PID_INDV["FC2935_ZC_PID_INDV"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC2937_ZC_MEDIA_INDV["FC2937_ZC_MEDIA_INDV"] --> N_UDT_ZC_DISP_MEDIA["UDT_ZC_DISP_MEDIA"]
    N_FC2938_ZC_MEDIA_VOL_INDV["FC2938_ZC_MEDIA_VOL_INDV"] --> N_UDT_ZC_DISP_MEDIA_VOLUMEN["UDT_ZC_DISP_MEDIA_VOLUMEN"]
    N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"] --> N_DB1_SYS["DB1_SYS"]
    N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"] --> N_DB2040_TQ["DB2040_TQ"]
    N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"] --> N_FC2926_ZC_FF_INDV["FC2926_ZC_FF_INDV"]
    N_FC2940_ZC_TQ_INDV["FC2940_ZC_TQ_INDV"] --> N_FC2928_ZC_TON_INDV["FC2928_ZC_TON_INDV"]

Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado

flowchart LR
    N_FC2800_ZC_ED_MUX["FC2800_ZC_ED_MUX"] --> N_DB2000_ED["DB2000_ED"]
    N_FC2800_ZC_ED_MUX["FC2800_ZC_ED_MUX"] --> N_DB2800_ED_MUX["DB2800_ED_MUX"]
    N_FC2801_ZC_EA_MUX["FC2801_ZC_EA_MUX"] --> N_DB2001_EA["DB2001_EA"]
    N_FC2801_ZC_EA_MUX["FC2801_ZC_EA_MUX"] --> N_DB2801_EA_MUX["DB2801_EA_MUX"]
    N_FC2805_ZC_SD_MUX["FC2805_ZC_SD_MUX"] --> N_DB2005_SD["DB2005_SD"]
    N_FC2805_ZC_SD_MUX["FC2805_ZC_SD_MUX"] --> N_DB2805_SD_MUX["DB2805_SD_MUX"]
    N_FC2806_ZC_SA_MUX["FC2806_ZC_SA_MUX"] --> N_DB2006_SA["DB2006_SA"]
    N_FC2806_ZC_SA_MUX["FC2806_ZC_SA_MUX"] --> N_DB2806_SA_MUX["DB2806_SA_MUX"]
    N_FC2810_ZC_V_MUX["FC2810_ZC_V_MUX"] --> N_DB2010_V["DB2010_V"]
    N_FC2810_ZC_V_MUX["FC2810_ZC_V_MUX"] --> N_DB2810_V_MUX["DB2810_V_MUX"]
    N_FC2815_ZC_M_MUX["FC2815_ZC_M_MUX"] --> N_DB2015_M["DB2015_M"]
    N_FC2815_ZC_M_MUX["FC2815_ZC_M_MUX"] --> N_DB2815_M_MUX["DB2815_M_MUX"]
    N_FC2816_ZC_M_VF_MUX["FC2816_ZC_M_VF_MUX"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FC2816_ZC_M_VF_MUX["FC2816_ZC_M_VF_MUX"] --> N_DB2816_M_VF_MUX["DB2816_M_VF_MUX"]
    N_FC2817_ZC_M_SINA_MUX["FC2817_ZC_M_SINA_MUX"] --> N_DB2017_M_SINA["DB2017_M_SINA"]
    N_FC2817_ZC_M_SINA_MUX["FC2817_ZC_M_SINA_MUX"] --> N_DB2817_M_SINA_MUX["DB2817_M_SINA_MUX"]
    N_FC2825_ZC_TOT_MUX["FC2825_ZC_TOT_MUX"] --> N_DB2025_TOT["DB2025_TOT"]
    N_FC2825_ZC_TOT_MUX["FC2825_ZC_TOT_MUX"] --> N_DB2825_TOT_MUX["DB2825_TOT_MUX"]
    N_FC2835_ZC_PID_MUX["FC2835_ZC_PID_MUX"] --> N_DB2035_PID["DB2035_PID"]
    N_FC2835_ZC_PID_MUX["FC2835_ZC_PID_MUX"] --> N_DB2835_PID_MUX["DB2835_PID_MUX"]
    N_FC2840_ZC_TQ_MUX["FC2840_ZC_TQ_MUX"] --> N_DB2040_TQ["DB2040_TQ"]
    N_FC2840_ZC_TQ_MUX["FC2840_ZC_TQ_MUX"] --> N_DB2840_TQ_MUX["DB2840_TQ_MUX"]
    N_FC2841_ZC_TQ_AE_MUX["FC2841_ZC_TQ_AE_MUX"] --> N_DB2041_TQ_AE["DB2041_TQ_AE"]
    N_FC2841_ZC_TQ_AE_MUX["FC2841_ZC_TQ_AE_MUX"] --> N_DB2841_TQ_AE_MUX["DB2841_TQ_AE_MUX"]

Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Controles

flowchart LR
    N_FC15151_ZC_MARCHA_PARO_SEC["FC15151_ZC_MARCHA_PARO_SEC"] --> N_UDT_ZC_MARCHA_PARO_SEC["UDT_ZC_MARCHA_PARO_SEC"]

Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Gestor

flowchart LR
    N_FC4_ZC_ENT_DISPONIBILIDAD["FC4_ZC_ENT_DISPONIBILIDAD"] --> N_DB6_ENTIDAD["DB6_ENTIDAD"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_DB6_ENTIDAD["DB6_ENTIDAD"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC15001_ZC_INT_TO_STRING["FC15001_ZC_INT_TO_STRING"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC15151_ZC_MARCHA_PARO_SEC["FC15151_ZC_MARCHA_PARO_SEC"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC2928_ZC_TON_INDV["FC2928_ZC_TON_INDV"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC2930_ZC_TONR_INDV["FC2930_ZC_TONR_INDV"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC4_ZC_ENT_DISPONIBILIDAD["FC4_ZC_ENT_DISPONIBILIDAD"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC6_ZC_ENT_ESTADO["FC6_ZC_ENT_ESTADO"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_DISP_TON["UDT_ZC_DISP_TON"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_DISP_TONR["UDT_ZC_DISP_TONR"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_FECHA["UDT_ZC_FECHA"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_MARCHA_PARO_SEC["UDT_ZC_MARCHA_PARO_SEC"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_PRO_LITROS_ETAPA["UDT_ZC_PRO_LITROS_ETAPA"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_PRO_PROCESO["UDT_ZC_PRO_PROCESO"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_PRO_TIEMPO_ETAPA["UDT_ZC_PRO_TIEMPO_ETAPA"]
    N_FC5_ZC_PROCESO["FC5_ZC_PROCESO"] --> N_UDT_ZC_PULSADOR["UDT_ZC_PULSADOR"]
    N_FC6_ZC_ENT_ESTADO["FC6_ZC_ENT_ESTADO"] --> N_DB2010_V["DB2010_V"]
    N_FC6_ZC_ENT_ESTADO["FC6_ZC_ENT_ESTADO"] --> N_DB2015_M["DB2015_M"]
    N_FC6_ZC_ENT_ESTADO["FC6_ZC_ENT_ESTADO"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FC6_ZC_ENT_ESTADO["FC6_ZC_ENT_ESTADO"] --> N_DB2017_M_SINA["DB2017_M_SINA"]
    N_FC6_ZC_ENT_ESTADO["FC6_ZC_ENT_ESTADO"] --> N_DB6_ENTIDAD["DB6_ENTIDAD"]

Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Alarmas

flowchart LR
    N_FC17_ZC_GEST_ALM["FC17_ZC_GEST_ALM"] --> N_UDT_ZC_ALARMA["UDT_ZC_ALARMA"]

Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Informes

flowchart LR
    N_FB15051_ZC_INF_CPR["FB15051_ZC_INF_CPR"] --> N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"]
    N_FB15051_ZC_INF_CPR["FB15051_ZC_INF_CPR"] --> N_UDT_ZC_INF_CPR_PROD["UDT_ZC_INF_CPR_PROD"]
    N_FB15051_ZC_INF_CPR["FB15051_ZC_INF_CPR"] --> N_UDT_ZC_MUX["UDT_ZC_MUX"]
    N_FB15052_ZC_INF_PROD_MEM["FB15052_ZC_INF_PROD_MEM"] --> N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"]
    N_FB15052_ZC_INF_PROD_MEM["FB15052_ZC_INF_PROD_MEM"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FB15052_ZC_INF_PROD_MEM["FB15052_ZC_INF_PROD_MEM"] --> N_UDT_ZC_INF_PROD_MEM["UDT_ZC_INF_PROD_MEM"]
    N_FB15053_ZC_INF_LIMP_MAQ["FB15053_ZC_INF_LIMP_MAQ"] --> N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"]
    N_FB15053_ZC_INF_LIMP_MAQ["FB15053_ZC_INF_LIMP_MAQ"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FB15053_ZC_INF_LIMP_MAQ["FB15053_ZC_INF_LIMP_MAQ"] --> N_UDT_ZC_INF_LIMP_MAQ["UDT_ZC_INF_LIMP_MAQ"]
    N_FC11_ZC_INF_GESTOR["FC11_ZC_INF_GESTOR"] --> N_DB11_INF["DB11_INF"]
    N_FC11_ZC_INF_GESTOR["FC11_ZC_INF_GESTOR"] --> N_DB1_SYS["DB1_SYS"]
    N_FC11_ZC_INF_GESTOR["FC11_ZC_INF_GESTOR"] --> N_FC15006_ZC_DTL_TO_STRING["FC15006_ZC_DTL_TO_STRING"]
    N_FC11_ZC_INF_GESTOR["FC11_ZC_INF_GESTOR"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC12_ZC_INF_REGISTRO["FC12_ZC_INF_REGISTRO"] --> N_DB11_INF["DB11_INF"]
    N_FC12_ZC_INF_REGISTRO["FC12_ZC_INF_REGISTRO"] --> N_DB1_SYS["DB1_SYS"]
    N_FC12_ZC_INF_REGISTRO["FC12_ZC_INF_REGISTRO"] --> N_FC15006_ZC_DTL_TO_STRING["FC15006_ZC_DTL_TO_STRING"]

Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Parametros

flowchart LR
    N_FC15_ZC_GEST_PREAL["FC15_ZC_GEST_PREAL"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC15_ZC_GEST_PREAL["FC15_ZC_GEST_PREAL"] --> N_UDT_ZC_PREAL["UDT_ZC_PREAL"]
    N_FC16_ZC_GEST_PINT["FC16_ZC_GEST_PINT"] --> N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"]
    N_FC16_ZC_GEST_PINT["FC16_ZC_GEST_PINT"] --> N_UDT_ZC_PINT["UDT_ZC_PINT"]

Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Registros

flowchart LR
    N_FB15050_ZC_CHEQUEO["FB15050_ZC_CHEQUEO"] --> N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"]
    N_FB15050_ZC_CHEQUEO["FB15050_ZC_CHEQUEO"] --> N_UDT_ZC_INF_CHEQUEO["UDT_ZC_INF_CHEQUEO"]
    N_FB15055_ZC_HORAS_MAQUINA["FB15055_ZC_HORAS_MAQUINA"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FB15055_ZC_HORAS_MAQUINA["FB15055_ZC_HORAS_MAQUINA"] --> N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"]
    N_FB15055_ZC_HORAS_MAQUINA["FB15055_ZC_HORAS_MAQUINA"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FB15055_ZC_HORAS_MAQUINA["FB15055_ZC_HORAS_MAQUINA"] --> N_UDT_ZC_PULSADOR["UDT_ZC_PULSADOR"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_FC15025_ZC_CONTADOR_TIEMPO["FC15025_ZC_CONTADOR_TIEMPO"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_FC15026_ZC_PULSADOR["FC15026_ZC_PULSADOR"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_FC2926_ZC_FF_INDV["FC2926_ZC_FF_INDV"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_UDT_ZC_CONTADOR_TIEMPO["UDT_ZC_CONTADOR_TIEMPO"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_UDT_ZC_DISP_FF["UDT_ZC_DISP_FF"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_UDT_ZC_PULSADOR["UDT_ZC_PULSADOR"]
    N_FB15056_ZC_SIVE_MEMBRANA_CARE["FB15056_ZC_SIVE_MEMBRANA_CARE"] --> N_UDT_ZC_SIVE_MEMBRANA_CARE["UDT_ZC_SIVE_MEMBRANA_CARE"]
    N_FB15057_ZC_CONT_PROD_MEM["FB15057_ZC_CONT_PROD_MEM"] --> N_FC15005_ZC_DTL_TO_ZC_FECHA["FC15005_ZC_DTL_TO_ZC_FECHA"]
    N_FB15057_ZC_CONT_PROD_MEM["FB15057_ZC_CONT_PROD_MEM"] --> N_UDT_ZC_CONT_PROD_MEM["UDT_ZC_CONT_PROD_MEM"]
    N_FC15106_ZC_GESTION_LISTA["FC15106_ZC_GESTION_LISTA"] --> N_UDT_ZC_LISTA_ORIG_DEST["UDT_ZC_LISTA_ORIG_DEST"]

Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Scada

flowchart LR
    N_FC20_GESTION_SCADA["FC20_GESTION_SCADA"] --> N_DB1_SYS["DB1_SYS"]
    N_FC20_GESTION_SCADA["FC20_GESTION_SCADA"] --> N_FC2928_ZC_TON_INDV["FC2928_ZC_TON_INDV"]
    N_FC20_GESTION_SCADA["FC20_GESTION_SCADA"] --> N_FC2929_ZC_TOF_INDV["FC2929_ZC_TOF_INDV"]

Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Trazabilidad

flowchart LR
    N_FC7_ZC_TRZ_GESTOR["FC7_ZC_TRZ_GESTOR"] --> N_DB7_TRZ["DB7_TRZ"]
    N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"] --> N_DB7_TRZ["DB7_TRZ"]
    N_FC8_ZC_TRZ_REGISTRO["FC8_ZC_TRZ_REGISTRO"] --> N_FC15006_ZC_DTL_TO_STRING["FC15006_ZC_DTL_TO_STRING"]

Bloques de programa/ZC_Estandar_Alimentacion/900_FAT_Utilidades

flowchart LR
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2000_ED["DB2000_ED"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2001_EA["DB2001_EA"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2005_SD["DB2005_SD"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2006_SA["DB2006_SA"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2010_V["DB2010_V"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2015_M["DB2015_M"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2025_TOT["DB2025_TOT"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2800_ED_MUX["DB2800_ED_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2801_EA_MUX["DB2801_EA_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2805_SD_MUX["DB2805_SD_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2806_SA_MUX["DB2806_SA_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2810_V_MUX["DB2810_V_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2815_M_MUX["DB2815_M_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2816_M_VF_MUX["DB2816_M_VF_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2817_M_SINA_MUX["DB2817_M_SINA_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2825_TOT_MUX["DB2825_TOT_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2840_TQ_MUX["DB2840_TQ_MUX"]
    N_FB15994_ZC_INICIALIZAR_DISP["FB15994_ZC_INICIALIZAR_DISP"] --> N_DB2841_TQ_AE_MUX["DB2841_TQ_AE_MUX"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2000_ED["DB2000_ED"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2001_EA["DB2001_EA"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2005_SD["DB2005_SD"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2006_SA["DB2006_SA"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2010_V["DB2010_V"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2015_M["DB2015_M"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2016_M_VF["DB2016_M_VF"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_DB2025_TOT["DB2025_TOT"]
    N_FB15995_ZC_BUSCAR_DIR["FB15995_ZC_BUSCAR_DIR"] --> N_FC15001_ZC_INT_TO_STRING["FC15001_ZC_INT_TO_STRING"]

Puntos de entrada (OB)

OB Dependencias directas detectadas
OB100_Startup DB1_SYS
OB121_ProgrammingError Sin llamadas exportadas
OB122_IO_AccessError Sin llamadas exportadas
OB1_MAIN FC50_MAIN
OB30_PID_100MS DB2035_PID
OB40_HardwareInterrupt Sin llamadas exportadas
OB80_TimeErrorInterrupt Sin llamadas exportadas
OB83_PullOrPlugOfModules Sin llamadas exportadas
OB86_RackOrStationFailure Sin llamadas exportadas

Notas de interpretación

  • OB1_MAIN es la raíz cíclica y delega en FC50_MAIN.
  • FC50_MAIN aplica el patrón de orquestador: sistema y dispositivos antes del programa de usuario; alarmas, parámetros, trazabilidad, informes y comunicaciones después.
  • OB30_PID_100MS constituye una rama cíclica independiente para regulación PID determinista.
  • Los OB de diagnóstico y arranque son raíces asíncronas disparadas por el sistema operativo de la CPU.
  • Los DB y UDT aparecen como dependencias de datos; no deben interpretarse como llamadas ejecutables.