# 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

- [Mapa de dependencias](00_Mapa_Dependencias.md)
- [Reconocimiento](01_Reconocimiento.md)

## Documentación por carpeta

- [`Bloques de programa`](01_Bloques_de_programa.md)
- [`Bloques de programa/11000_Comunicaciones`](02_11000_Comunicaciones.md)
- [`Bloques de programa/2000_Dispositivos`](03_2000_Dispositivos.md)
- [`Bloques de programa/2000_Dispositivos/2800_Multiplexado`](04_2000_Dispositivos_2800_Multiplexado.md)
- [`Bloques de programa/3000_ParametrosGenerales`](05_3000_ParametrosGenerales.md)
- [`Bloques de programa/5000_AlarmasGenerales`](06_5000_AlarmasGenerales.md)
- [`Bloques de programa/60_Balizas`](07_60_Balizas.md)
- [`Bloques de programa/6_Entidades`](08_6_Entidades.md)
- [`Bloques de programa/9_Gestor_Dispositivos`](09_9_Gestor_Dispositivos.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_Datos`](10_000_Sistema_Datos.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_DiagnosticoHardware`](11_000_Sistema_DiagnosticoHardware.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_Gestor`](12_000_Sistema_Gestor.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Calculos`](13_100_Utilidades_Calculos.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Contadores`](14_100_Utilidades_Contadores.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Conversiones`](15_100_Utilidades_Conversiones.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/100_Utilidades_Pulsadores`](16_100_Utilidades_Pulsadores.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Estandar`](17_200_Dispositivos_Estandar.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales`](18_200_Dispositivos_Individuales.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado`](19_200_Dispositivos_Multiplexado.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Controles`](20_300_Procesos_Controles.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Gestor`](21_300_Procesos_Gestor.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Alarmas`](22_500_Datos_Alarmas.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Informes`](23_500_Datos_Informes.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Parametros`](24_500_Datos_Parametros.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Recetas`](25_500_Datos_Recetas.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Registros`](26_500_Datos_Registros.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Scada`](27_500_Datos_Scada.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/500_Datos_Trazabilidad`](28_500_Datos_Trazabilidad.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/600_Comunicaciones`](29_600_Comunicaciones.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/900_FAT_PruebasCuadros`](30_900_FAT_PruebasCuadros.md)
- [`Bloques de programa/ZC_Estandar_Alimentacion/900_FAT_Utilidades`](31_900_FAT_Utilidades.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/100_Utilidades`](32_UDT_100_Utilidades.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/200_Dispositivos_Estandar`](33_UDT_200_Dispositivos_Estandar.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/200_Dispositivos_Interfaz`](34_UDT_200_Dispositivos_Interfaz.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado`](35_UDT_200_Dispositivos_Multiplexado.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/300_Proceso_Gestor`](36_UDT_300_Proceso_Gestor.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/300_Proceso_Interfaces`](37_UDT_300_Proceso_Interfaces.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/400_Secuencias_CIP`](38_UDT_400_Secuencias_CIP.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/500_Datos_Alarmas`](39_UDT_500_Datos_Alarmas.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/500_Datos_Informes`](40_UDT_500_Datos_Informes.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/500_Datos_Parametros`](41_UDT_500_Datos_Parametros.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/500_Datos_Recetas`](42_UDT_500_Datos_Recetas.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/500_Datos_Registros`](43_UDT_500_Datos_Registros.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/500_Datos_Trazabilidad`](44_UDT_500_Datos_Trazabilidad.md)
- [`Tipos de datos PLC/ZC_Estandar_Alimentacion/600_Comunicaciones`](45_UDT_600_Comunicaciones.md)

## 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

```mermaid
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`

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

### `Bloques de programa/11000_Comunicaciones`

```mermaid
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`

```mermaid
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`

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

### `Bloques de programa/9_Gestor_Dispositivos`

```mermaid
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`

```mermaid
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`

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

### `Bloques de programa/ZC_Estandar_Alimentacion/000_Sistema_Gestor`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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`

```mermaid
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.

---

