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

Análisis — Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Gestor

Cobertura: 3 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 FC4_ZC_ENT_DISPONIBILIDAD

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Gestor/FC4_ZC_ENT_DISPONIBILIDAD.s7dcl
  • Tipo: FC; retorno Bool

Propósito general

Función encargada de evaluar y determinar la disponibilidad operativa de las entidades del sistema. Las tareas que realiza son las siguientes: - Calcular el estado de disponibilidad de la entidad correspondiente en función del valor recibido en la entrada Entidad. - Verificar y restringir, por motivos de seguridad, el valor de la entrada Entidad para garantizar que no exceda los límites definidos en el array de entidades.

Interfaz principal

Entradas:

Variable Tipo / inicialización
Entidad Int

Dependencias

Clase Elementos referenciados/llamados
DB DB6_ENTIDAD

Lógica clave

Flujo organizado en las regiones: GESTION_DISPONIBILIDAD. Mecanismos relevantes detectados: decisiones condicionales. Operaciones señaladas por el código: ==========================================================================================================; Comprobacion de limites de la entrada Entidad. En caso de estar fuera de indices, devolvemos un FALSE.; En caso de estar dentro de limites, devolvemos el estado de la entidad.

FC FC5_ZC_PROCESO

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Gestor/FC5_ZC_PROCESO.s7dcl
  • Tipo: FC; retorno Void

Propósito general

Función principal para la gestión integral del ciclo de vida, la máquina de estados y los recursos asociados a un proceso individual. Las tareas que realiza son las siguientes: - Generación de pulsos de transición (flancos) y evaluación continua de los enclavamientos externos y la entrada de seguridad general. - Gestión centralizada de las órdenes de mando procedentes del HMI mediante pulsadores temporizados (Marcha, Paro, Pausa, Reanudar, Salto de etapa y Reset de errores). - Ejecución cíclica de la máquina de estados (Grafcet) del proceso, gestionando las etapas de Reposo/Finalizado, Arrancando, En Marcha, Pausando/Pausado/Reanudando, Finalizando y En Error. - Administración dinámica de las entidades operativas (equipos, válvulas, motores): validación de disponibilidad, captura/liberación, y asignación de sus estados físicos y lógicos (Producción, CIP, SIP, Standby, Con Producto, Con Agua, Vacía). - Monitoreo consolidado de alarmas, agrupando fallos de dispositivos o de usuario para abortar el proceso si la configuración lo requiere. - Gestión de transiciones y recursos internos de la etapa actual: salto de etapa (forzado o automático), temporizaciones (TON, TONR, Tiempo de Etapa) y volumetría (Litros de Etapa). - Registro de datos de informe operativo, capturando marcas de tiempo de inicio/fin y contabilizando el tiempo en marcha y total. - Generación y envío estructurado de registros de trazabilidad al sistema para auditar los cambios de estado principales (Inicio, Pausa, Reanudar, Fin), saltos de etapa y errores.

Interfaz principal

Entradas:

Variable Tipo / inicialización
Pulso1Seg Bool
Usuario String
FechaHoraActual DTL
PrimerArranque Bool
SeguridadOk Bool
ComunicacionesOk Bool
HabilitacionErrores Bool
HabilitacionErroresEntidades Bool
HabilitacionErroresDispositivos Bool
HabilitacionAbortarErrores Bool
TiempoPulsadores Int

Entrada/salida (in/out):

Variable Tipo / inicialización
PRO _.UDT_ZC_PRO_PROCESO

Temporales:

Variable Tipo / inicialización
for_i Int
t_TipoError Int
t_DispNumero Int
t_EntidadesCargadas Bool
t_ErrorYaRegistrado Bool

Estado/estáticos:

Variable Tipo / inicialización
CONSTANT REANUDANDO USInt := 3
ARRANCANDO USInt := 4
EN_MARCHA USInt := 5
PAUSANDO USInt := 6
PAUSADO USInt := 7
FINALIZANDO USInt := 8
FINALIZADO USInt := 0
EN_ERROR USInt := 10
COMPROBACION_ERRORES USInt := 0
COMPROBACION_ENTIDADES USInt := 1
ARRANQUE_OK USInt := 2
ERR_ENT_NO_DISP USInt := 1
ERR_ENT_ARRANQUE USInt := 2
ERR_ENT_EN_ERROR USInt := 3
ERR_ENTRADA_SEG USInt := 4
ERR_COM_NOOK USInt := 5
ERR_PRIMER_ARRANQUE USInt := 5
AVI_PARO_OP USInt := 2
ENC_ENTRADA_SEG USInt := 1
ENC_COM_NO_OK USInt := 2

Dependencias

Clase Elementos referenciados/llamados
DB DB6_ENTIDAD
FC FC15001_ZC_INT_TO_STRING, FC15025_ZC_CONTADOR_TIEMPO, FC15026_ZC_PULSADOR, FC15151_ZC_MARCHA_PARO_SEC, FC2928_ZC_TON_INDV, FC2930_ZC_TONR_INDV, FC4_ZC_ENT_DISPONIBILIDAD, FC6_ZC_ENT_ESTADO, FC8_ZC_TRZ_REGISTRO
Instrucción Siemens / librería USInt
UDT UDT_ZC_CONTADOR_TIEMPO, UDT_ZC_DISP_TON, UDT_ZC_DISP_TONR, UDT_ZC_FECHA, UDT_ZC_MARCHA_PARO_SEC, UDT_ZC_PRO_LITROS_ETAPA, UDT_ZC_PRO_PROCESO, UDT_ZC_PRO_TIEMPO_ETAPA, UDT_ZC_PULSADOR

Lógica clave

Flujo organizado en las regiones: COMPROBACION_PROCESO_HABILITADOGESTION_PULSOS_ESTADOSPULSADORESRESET_ORDENES_PREVIASPRIMER_ARRANQUEENTRADA_SEGURIDADCOMUNICACIONES_NO_OKENCLAVAMIENTOBITS_ESTADOPERMISO_PULSADORESMAQUINA_DE_ESTADOSFINALIZADORESET_VARIABLESFINALIZADO_TO_ARRANCANDOARRANCANDOSECUENCIA_ARRANQUECOMPROBACION_ERRORESCOMPROBACION_ENTIDADESARRANQUE_OKEN_MARCHAEN_MARCHA_A_PAUSANDOEN_MARCHA_A_PAUSANDO_POR_ERROREN_MARCHA_A_FINALIZANDOPAUSANDOPAUSANDO_A_PAUSADOPAUSADOPAUSADO_A_EN_ERRORPAUSADO_A_REANUDANDOPAUSADO_A_FINALIZANDOREANUDANDOREANUDANDO_A_EN_MARCHAREANUDANDO_A_EN_ERRORREANUDANDO_A_ARRANCANDOFINALIZANDOLIBERAR_ENTIDADESFINALIZANDO_A_FINALIZADOEN_ERROREN_ERROR_A_PAUSADOEN_ERROR_A_FINALIZANDOESTADO_DESCONOCIDOENTIDADESGESTION_DISPONIBILIDAD_Y_ESTADOSCAPTURAR_LIBERAR_ENTIDADESLIBERAR_ENTIDADCAPTURAR_ENTIDADERRORESALGUN_ERRORRECONOCER_ERRORESAVISOSVENTANA_DE_AVISOSCAMBIO_ETAPATIEMPO_ETAPALITROS_ETAPATEMPORIZADORESBIT_MRESET_ORDENES_INCONDICIONALESTRAZABILIDADTRAZA_INICIOTRAZA_PAUSATRAZA_REANUDARTRAZA_ERRORTRAZA_FIN. Mecanismos relevantes detectados: recorridos iterativos, máquina de estados/selección CASE, decisiones condicionales, temporización IEC. Operaciones señaladas por el código: ==========================================================================================================; Si el proceso no esta habilitado, salimos de la funcion; Flancos de estado de procesos; Actualizar Estado y Etapa Anterior; Pulsador marcha; Pulsador paro; Pulsador pausa; Pulsador reanudar; Pulsador reset errores; Pulsador salto etapa.

FC FC6_ZC_ENT_ESTADO

  • Archivo: Bloques de programa/ZC_Estandar_Alimentacion/300_Procesos_Gestor/FC6_ZC_ENT_ESTADO.s7dcl
  • Tipo: FC; retorno Void

Propósito general

Función para la gestión integral de estados, disponibilidad y supervisión de los dispositivos asociados a una entidad. Las tareas que realiza son las siguientes: - Supervisión de dispositivos: Escaneo cíclico de los dispositivos vinculados a la entidad (Válvulas, Motores, Variadores y Sinamics) mediante un bucle FOR. - Verificación de alarmas generales (Alarmas_General) y estados de mando manual (Estado_AutoMan) en cada equipo. - Identificación del tipo de incidencia en las salidas TipoError (1 para Error, 2 para Manual) y reporte del índice del dispositivo afectado en DispNumero. - Cálculo de disponibilidad: Determinación del estado Disponible basándose en la ausencia de alarmas, mandos manuales, capturas activas y estados de proceso (Producción, CIP, SIP, Standby). - Actualización del estado Capturada si la entidad tiene una asignación distinta de cero. - Gestión de códigos de estado: Asignación dinámica del código numérico CodEstado según la fase de operación actual (Producción: 1000, CIP: 2000, SIP: 3000, Standby: 4000). - Refinamiento del código según el contenido detectado (Producto: +10, Agua: +20, Vacío: +30). - Registro de estados de limpieza (Sucia: 10000, Limpia: 11000, Esterilizada: 12000). - Sincronización de producto: Actualización de la variable Producto con el valor de entrada CodigoProducto siempre que la entidad tenga un estado activo.

Interfaz principal

Entradas:

Variable Tipo / inicialización
Entidad Int
TipoProceso Int
CodigoProducto Int

Salidas:

Variable Tipo / inicialización
TipoError Int
DispNumero Int

Temporales:

Variable Tipo / inicialización
for_i Int
t_DispError Bool
t_DispManual Bool
t_DispNumero Int

Estado/estáticos:

Variable Tipo / inicialización
CONSTANT DISP_V Int := 1
DISP_M Int := 2
DISP_M_VF Int := 3
DISP_M_SINA Int := 4

Dependencias

Clase Elementos referenciados/llamados
DB DB2010_V, DB2015_M, DB2016_M_VF, DB2017_M_SINA, DB6_ENTIDAD

Lógica clave

Flujo organizado en las regiones: GESTION_ENTIDADESCOMPROBACION_DISPOSITIVOSVALVULAMOTORMOTOR_SINAMICSMOTOR_VARIADORASIGNACION_ESTADOS. Mecanismos relevantes detectados: recorridos iterativos, máquina de estados/selección CASE, decisiones condicionales. Operaciones señaladas por el código: ==========================================================================================================; Asignacion de estado entidad capturada; Reset de estados; Comprobacion de estado de dispositivo declarados dentro de la entidad; Se revisan solamente las entidades declaradas; Comprobacion de errores o dispositivo en manual; Activacion de estado en error; Activacion de estado en manual; Asignacion de estado disponible; Asignacion de codigo de estado.