1
19_200_Dispositivos_Multiplexado
Aketza edited this page 2026-07-22 08:41:30 +02:00

Análisis — Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado

Cobertura: 12 fuente(s) .s7dcl.

Resumen de carpeta

Esta carpeta pertenece a la capa indicada por su prefijo numérico y agrupa elementos con responsabilidad funcional común. El detalle siguiente diferencia bloques ejecutables, memoria global/instancia y contratos UDT.

FC FC2800_ZC_ED_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2800_ZC_ED_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo entrada digital, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_ED. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2000_ED.ED[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura ED[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2000_ED, DB2800_ED_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Traspaso de limites a variable temporal para evitar cambios no deseados; Gestionamos solo los tipos; Traspaso de dispositivos al multiplexado.

FC FC2801_ZC_EA_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2801_ZC_EA_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo entrada analogica, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_EA. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2001_EA.EA[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura EA[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2001_EA, DB2801_EA_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Traspaso de limites a variable temporal para evitar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2805_ZC_SD_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2805_ZC_SD_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo salida digital, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_SD. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2005_SD.SD[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura SD[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2005_SD, DB2805_SD_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Traspaso de limites a variable temporal para evitar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2806_ZC_SA_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2806_ZC_SA_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo salida analogica, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_SA. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2006_SA.SA[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura SA[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2006_SA, DB2806_SA_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2810_ZC_V_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2810_ZC_V_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo valvula, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_V. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2010_V.V[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura V[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool
SeguridadesOK Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2010_V, DB2810_V_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2815_ZC_M_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2815_ZC_M_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo motor, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_M. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2015_M.M[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura M[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool
SeguridadesOk Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2015_M, DB2815_M_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2816_ZC_M_VF_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2816_ZC_M_VF_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo motor variador, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_M_VF. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2016_M_VF.M_VF[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura M_VF[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool
SeguridadesOK Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2016_M_VF, DB2816_M_VF_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2817_ZC_M_SINA_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2817_ZC_M_SINA_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo motor sinamics, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_M_SINA. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2017_M_SINA.M_SINA[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura M_SINA[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool
SeguridadesOk Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2017_M_SINA, DB2817_M_SINA_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2825_ZC_TOT_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2825_ZC_TOT_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo totalizador, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_TOT. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2025_TOT.TOT[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura TOT[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2025_TOT, DB2825_TOT_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice.; Traspaso de dispositivos al multiplexado.

FC FC2835_ZC_PID_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2835_ZC_PID_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo PID, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_PID. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2035_PID.PID[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura PID[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2035_PID, DB2835_PID_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..

FC FC2840_ZC_TQ_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2840_ZC_TQ_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo tanque, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_TQ. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2040_TQ.TQ[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura TQ[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2040_TQ, DB2840_TQ_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Traspaso de limites a variable temporal para evitar cambios no deseados; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos.

FC FC2841_ZC_TQ_AE_MUX

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado/FC2841_ZC_TQ_AE_MUX.s7dcl
  • Tipo: FC; retorno Void

Propósito general

El bloque implementa la gestión de multiplexado estático para el dispositivo tanque aire esteril, exponiendo la matriz de equipos de la planta a los sistemas de supervisión SCADA Clásicos (WinCC Professional) sin necesidad de acceso indexado nativo. Funcionalidades principales de la arquitectura: - En el primer arranque del PLC (#Arranque), inicializa a 0 los índices (Index y oldIndex) de todos los canales de multiplexado. - Validación de los límites del índice de cada multiplexado frente a la constante N_MAX_DISP_TQ_AE. - Detección de cambio de índice (Index <> oldIndex) para cargar la estructura completa del equipo seleccionado (DB2041_TQ_AE.TQ_AE[X]) en la interfaz del multiplexor. - Transferencia continua de datos de Solo Lectura (estados, valores actuales, alarmas) desde el PLC hacia el SCADA. - Transferencia bidireccional segura de datos de Escritura (consignas, configuraciones y modos) evaluando máscaras de cambios (CambioDesdeHMI vs CambioDesdeMux) para evitar sobrescrituras accidentales. - Gestión de comandos (Resets, pulsadores) con auto-reseteo para evitar el efecto rebote. - Caso especial de índice 0: carga la estructura TQ_AE[0] (reservada y vacía) para limpiar la pantalla del SCADA. > ** Restricciones: ** Exclusivo para SCADAs sin soporte de indexación directa. - - -

Interfaz principal

Entradas:

Variable Tipo / inicialización
Arranque Bool

Temporales:

Variable Tipo / inicialización
for_mux Int
t_Index Int
t_oldIndex Int
t_N_MAX Int
t_CambioDesdeHMI Bool
t_CambioDesdeMux Bool

Dependencias

Clase Elementos referenciados/llamados
DB DB2041_TQ_AE, DB2841_TQ_AE_MUX

Lógica clave

Flujo organizado en las regiones: COMPROBACION_N_MAXMULTIPLEXADOLIMITESINDICESCARGA_INICIALDATOS_LECTURADATOS_ESCRITURAGESTION_CAMBIOS_DINAMICOSGESTION_CAMBIOS_CONFIGTRASPASO_DATOS. Mecanismos relevantes detectados: recorridos iterativos, decisiones condicionales. Operaciones señaladas por el código: Si no hay Scada declarados, salimos del bloque inmediatamente; Traspaso de N_MAX a variable temporal para evitar fallos de compilacion; ===========================================================================================================; Al arranque del PLC, ponemos a 0 todos los indices de los multiplexados; Gestion de multiplexado; ===============================================================================================================; Antes de iniciar la logica del multiplexado, revisamos los limites; Pasamos el indice a variable temporal para evisar cambios no deseados; Gestionamos solo los tipos; Al detectar un cambio en el indice del dispositivo, cargamos los valores del dispositivo que tenga el indice..