Table of Contents
- Análisis — Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales
Análisis — Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales
Cobertura: 10 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 FC2926_ZC_FF_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2926_ZC_FF_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo flip flop con funcion de paro entre cambios. Las tareas que realiza son las siguientes: - Gestionar la activacion y calculos de tiempo de cambio entre ordenes Flip, Flop y paro. - Adicionalmente, se gestiona tambien la posibilidad de pausar el contaje del tiempo, para evitar su reinicializacion en caso de pausa. - En los cambios entre ´flip´ <--> ´flop´, se activa tambien la marca ´paro´ para poder gestionar los cambios y evitar golpes de ariete.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1Seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
FF |
_.UDT_ZC_DISP_FF |
Estado/estáticos:
| Variable | Tipo / inicialización |
|---|---|
CONSTANT REPOSO |
SInt := 0 |
FLOP |
SInt := 10 |
PARO1 |
SInt := 20 |
FLIP |
SInt := 30 |
PARO2 |
SInt := 40 |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_FF |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO → COMPROBACIONES_INICIALES → INICIALIZACION → LOGICA_DE_ESTADOS. Mecanismos relevantes detectados: máquina de estados/selección CASE, decisiones condicionales. Operaciones señaladas por el código: ==========================================================================================================; Si no hay orden o faltan tiempos, reseteamos valores y salimos de la funcion; Arranque inicial forzado a Flop si no hay estado activo; Conteo de tiempo; Transición; Si no tenemos tiempo de paro configurado, saltamos a FLIP; Si no tenemos tiempo de paro configurado, saltamos a FLOP.
FC FC2927_ZC_FF_SEC_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2927_ZC_FF_SEC_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo flip flop secuencial. Las tareas que realiza son las siguientes: - Gestionar la activacion y calculos de tiempo de cambio entre ordenes Flip y Flop. - Adicionalmente, se gestiona tambien la posibilidad de pausar el contaje del tiempo, para evitar su reinicializacion en caso de pausa.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1Seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
FF_SEC |
_.UDT_ZC_DISP_FF_SEC |
Temporales:
| Variable | Tipo / inicialización |
|---|---|
for_i |
Int |
t_SumaFlip |
Int |
Estado/estáticos:
| Variable | Tipo / inicialización |
|---|---|
CONSTANT REPOSO |
SInt := 0 |
FLOP |
SInt := 10 |
FLIP |
SInt := 20 |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_FF_SEC |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO → COMPROBACIONES_INICIALES → INICIALIZACION → LOGICA_DE_ESTADOS. Mecanismos relevantes detectados: recorridos iterativos, máquina de estados/selección CASE, decisiones condicionales. Operaciones señaladas por el código: ==========================================================================================================; Suma de seguridad por FOR (Determinista); Si no hay orden o los tiempos globales son 0, reseteamos valores y salimos de la funcion; Arranque inicial forzado a Flop si no hay estado activo; Conteo de tiempo; Transición; Buscar primer Flip válido; Transición si encontró algo válido; Búsqueda del siguiente Flip válido; Si llega al final sin encontrar nada.
FC FC2928_ZC_TON_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2928_ZC_TON_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo TON. Las tareas que realiza son las siguientes: - Gestionar la activacion y temporizacion de la activacion del temporizador.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
TON |
_.UDT_ZC_DISP_TON |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_TON |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO. Mecanismos relevantes detectados: decisiones condicionales, temporización IEC. Operaciones señaladas por el código: ==========================================================================================================.
FC FC2929_ZC_TOF_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2929_ZC_TOF_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo TOF. Las tareas que realiza son las siguientes: - Gestionar la activacion y temporizacion de la activacion del temporizador.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
TOF |
_.UDT_ZC_DISP_TOF |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_TOF |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO. Mecanismos relevantes detectados: decisiones condicionales, temporización IEC. Operaciones señaladas por el código: ==========================================================================================================.
FC FC2930_ZC_TONR_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2930_ZC_TONR_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo TONR. Las tareas que realiza son las siguientes: - Gestionar la activacion y temporizacion de la activacion del temporizador.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
TONR |
_.UDT_ZC_DISP_TONR |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_TONR |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO. Mecanismos relevantes detectados: decisiones condicionales, temporización IEC. Operaciones señaladas por el código: ==========================================================================================================.
FC FC2931_ZC_TP_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2931_ZC_TP_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo TP. Las tareas que realiza son las siguientes: - Gestionar la activacion y temporizacion de la activacion del temporizador.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1Seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
TP |
_.UDT_ZC_DISP_TP |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_TP |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO. Mecanismos relevantes detectados: decisiones condicionales, temporización IEC. Operaciones señaladas por el código: ==========================================================================================================; =============================================================================; Detección de flanco; Actualizo valor de memoria; Reinicio memoria de activación cuando piedo salida y cuento tiempo; Incremento de tiempo; Desactivo salida cuando cumplo tiempo de retardo de salida.
FC FC2935_ZC_PID_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2935_ZC_PID_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Funcion para la gestion de dispositivo de tipo PID. En ella se realizan las siguientes acciones: - Se gestiona el estado del dispositivo - Se gestiona la orden de activacion y activacion retardada - Se gestiona la trazabilidad de las manualizaciones del dispositivo
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
PV |
Real |
DispManAuto |
Bool |
DispValorActual |
Real |
Ack |
Bool |
Fecha |
DTL |
Usuario |
String |
NumeroPID |
Int |
RangoSuperiorEscalado |
Real |
RangoInferiorEscalado |
Real |
UsuarioActual |
String |
FechaHoraActual |
DTL |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
PID_CompactConfig |
PID_CompactConfig |
PID_CompactControlParams |
PID_CompactControlParams |
Temporales:
| Variable | Tipo / inicialización |
|---|---|
t_Norm_X |
LReal |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| DB | DB2035_PID |
| FC | FC8_ZC_TRZ_REGISTRO |
Lógica clave
Flujo organizado en las regiones: TRASPASO_DE_PARAMETROS → MODOS_DE_TRABAJO → LIMITES_SALIDA → ESTADOS → CAMBIO_MODO → TRAZABILIDAD. Mecanismos relevantes detectados: decisiones condicionales. Operaciones señaladas por el código: Numero maximo de dispositivos para limitar en HMI/Scada; ===============================================================================================================; TRASPASO DE PARAMETROS A PID COMPACT; Valores regulacion; Tipo Entrada; Tipo de control (Directo/Inverso); Limites y avisos; Valor proceso; Selector: (0) Automatico / (1) Manual; Reset señal forzado.
FC FC2937_ZC_MEDIA_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2937_ZC_MEDIA_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo Media. Las tareas que realiza son las siguientes: - Gestionar la activacion y calculo de la media.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
Media |
_.UDT_ZC_DISP_MEDIA |
Temporales:
| Variable | Tipo / inicialización |
|---|---|
t_NumeroDatos |
LReal |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_MEDIA |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO → REINICIALIZACION_DE_DATOS → TOMA_DE_VALORES → CALCULO_MEDIA. Mecanismos relevantes detectados: decisiones condicionales. Operaciones señaladas por el código: ==========================================================================================================; Reset temporizador interno si no esta habilitada la media; Reinicializacion de datos al inicializar; Estado anterior; Incrementamos el indice de tiempo; En caso de superar el tiempo de muestreo, incrementamos el acumulado, reseteamos el tiempo y aumentamos el indice; Guardamos el valor minimo alcanzado; Guardamos el valor maximo alcanzado; Conversion de indice a REAL para calculos.
FC FC2938_ZC_MEDIA_VOL_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2938_ZC_MEDIA_VOL_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
Función encargada de gestionar un dispositivo Media volumen. Las tareas que realiza son las siguientes: - Gestionar la activacion y calculo de la media teniendo en cuenta el volumen/caudal.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1seg |
Bool |
Entrada/salida (in/out):
| Variable | Tipo / inicialización |
|---|---|
Media |
_.UDT_ZC_DISP_MEDIA_VOLUMEN |
Temporales:
| Variable | Tipo / inicialización |
|---|---|
t_NumeroDatos |
LReal |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| UDT | UDT_ZC_DISP_MEDIA_VOLUMEN |
Lógica clave
Flujo organizado en las regiones: GESTION_DISPOSITIVO → REINICIALIZACION_DE_DATOS → TOMA_DE_VALORES. Mecanismos relevantes detectados: decisiones condicionales. Operaciones señaladas por el código: ==========================================================================================================; Reset temporizador interno si no esta habilitada la media; Reinicializacion de datos al inicializar; Estado anterior; Incrementamos el indice de tiempo; En caso de superar el tiempo de muestreo, incrementamos el acumulado, reseteamos el tiempo y aumentamos el indice; Guardamos el valor minimo alcanzado; Guardamos el valor maximo alcanzado.
FC FC2940_ZC_TQ_INDV
- Archivo:
Bloques de programa/ZC_Estandar_Alimentacion/200_Dispositivos_Individuales/FC2940_ZC_TQ_INDV.s7dcl - Tipo: FC; retorno
Void
Propósito general
El bloque implementa el modelo de dispositivo "Tanque" (TQ) para el control integral de depósitos en procesos industriales. Centraliza la adquisición de señales de campo, la gestión de estados del tanque, el cálculo de volumen por geometría cónica-cilíndrica, el control del agitador, el control de temperatura y la supervisión de alarmas, exponiendo toda la información al sistema SCADA mediante direccionamiento multiplexado.
Funcionalidades principales:
- Gestión del estado global del tanque: deshabilitado, sucio, CIP (limpieza in-situ), limpio y con producto.
- Lectura y validación de señales digitales y analógicas: detectores de nivel bajo (LL), nivel alto (HL), boca de hombre, valor de presión y valor de temperatura.
- Cálculo de la altura de columna de líquido a partir de la presión medida mediante una constante empírica configurable.
- Cálculo del volumen diferenciando dos tramos geométricos: zona cónica inferior (con radio variable en función del ángulo del cono y radio del cilindro) y zona cilíndrica superior.
- Detección robusta de tanque vacío y tanque lleno combinando las señales de los detectores con temporizadores (FC2928_ZC_TON_INDV) que filtran el volumen por consignas configurables.
- Gestión de alarmas: nivel bajo, nivel alto, boca de hombre y sobrecapacidad, con agrupación configurable por cuadro para integración en SCADA.
- Control del agitador con dos modos de operación: fijo (marcha continua) o alternado por tiempos ON/OFF (FC2926_ZC_FF_INDV), con consigna de velocidad fija o proporcional al volumen.
- Control de temperatura en modo calefacción o refrigeración con histéresis configurable y desactivación por nivel mínimo.
- Seguimiento del producto: registro del producto activo, transición automática entre Producto1 y Producto2, detección de mezcla y borrado al salir del estado PRODUCTO.
- Soporte de cambio de estado y cambio de producto desde HMI/SCADA mediante flags de orden.
- Direccionamiento multiplexado para SCADA (no indexado), con reset de índices en el primer arranque del PLC y reubicación del tanque TQ[0] cuando el índice vale 0.
- Contadores de tiempo en estados LIMPIO y PRODUCTO (FC15025_ZC_CONTADOR_TIEMPO) para trazabilidad de proceso.
> Restricciones: PLC serie 1200/1500.
Interfaz principal
Entradas:
| Variable | Tipo / inicialización |
|---|---|
Pulso1seg |
Bool |
Arranque |
Bool |
EstadoBocaHombre |
Bool |
EstadoNivelBajo |
Bool |
EstadoNivelAlto |
Bool |
EstadoComOK |
Bool |
ValorNivelPresion |
Real |
ValorTemperatura |
Real |
HisteresisAltoNivelAgitacion |
Real |
HisteresisBajoNivelAgitacion |
Real |
HisteresisAltoNivelTemp |
Real |
HisteresisBajoNivelTemp |
Real |
TiempoTanqueVacio |
Int |
TiempoTanqueLLeno |
Int |
HabilitarFrecAgitacion |
Bool |
NumeroTanque |
Int |
Temporales:
| Variable | Tipo / inicialización |
|---|---|
t_RadioCilindro |
Real |
t_RadioConoInf |
Real |
t_RadioActual |
Real |
t_Vol1 |
Real |
t_Vol2 |
Real |
t_Vol3 |
Real |
t_ConsignaAgitador |
Real |
t_VacioLL |
Bool |
t_VacioEA |
Bool |
t_HistPositiva |
Real |
t_HistNegativa |
Real |
t_LLenoHL |
Bool |
t_LlenoEA |
Bool |
t_x0 |
Real |
t_x1 |
Real |
t_x |
Real |
t_y0 |
Real |
t_y1 |
Real |
Estado/estáticos:
| Variable | Tipo / inicialización |
|---|---|
CONSTANT CONSTANTE_EMPIRICA |
Real := 10.1 |
CONSTANTE_PI |
Real := 3.141593 |
ESTADO_DESHABILITADO |
Int := 0 |
ESTADO_SUCIO |
Int := 1 |
ESTADO_LIMPIO |
Int := 2 |
ESTADO_PRODUCTO |
Int := 3 |
ESTADO_CIP |
Int := 4 |
Dependencias
| Clase | Elementos referenciados/llamados |
|---|---|
| DB | DB1_SYS, DB2040_TQ |
| FC | FC15025_ZC_CONTADOR_TIEMPO, FC2926_ZC_FF_INDV, FC2928_ZC_TON_INDV |
Lógica clave
Flujo organizado en las regiones: LOGICA_DEL_DISPOSITIVO → LIMITE_GRUPO_ALARMA → ASIGNAR_ESTADOS → ALARMAS → VOLUMEN → ESTADO_VOLUMEN → CALCULO_VOLUMEN_TANQUE → ESTADO → AGITADOR → VALVULA. Mecanismos relevantes detectados: decisiones condicionales, temporización IEC. Operaciones señaladas por el código: (C)Copyright ZeusControl 2022 - 2026; ==========================================================================================================; Numero maximo de dispositivos para limitar en HMI/Scada; Cambio de estado desde HMI/SCADA; =============================================================================; DISPOSITIVO HABILITADO; DETECTOR BOCA DE HOMBRE; DETECTOR LL; DETECTOR HL; LECTURA VALOR NIVEL.