Table of Contents
- Análisis — Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Multiplexado
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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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_MAX → MULTIPLEXADO → LIMITES → INDICES → CARGA_INICIAL → DATOS_LECTURA → DATOS_ESCRITURA → GESTION_CAMBIOS_DINAMICOS → GESTION_CAMBIOS_CONFIG → TRASPASO_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..