chore: Reorganizacion de carpetas y estructura.

This commit is contained in:
2026-08-04 08:13:52 +02:00
parent c3be654f7e
commit 50f70f046a
57 changed files with 2194 additions and 1193 deletions
@@ -23,6 +23,7 @@ DATA_BLOCK DB2000_ED
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
"ED"[0].Hmi_Estado := 0;
"ED"[0].Estado_AutoMan := FALSE; "ED"[0].Estado_AutoMan := FALSE;
"ED"[0].Estado_Activado := FALSE; "ED"[0].Estado_Activado := FALSE;
"ED"[0].Estado_EntradaCanal := FALSE; "ED"[0].Estado_EntradaCanal := FALSE;
@@ -33,6 +34,7 @@ DATA_BLOCK DB2000_ED
"ED"[0].Config_HabilitarInvertir := FALSE; "ED"[0].Config_HabilitarInvertir := FALSE;
"ED"[0].Aux_oldActivado := FALSE; "ED"[0].Aux_oldActivado := FALSE;
"ED"[0].Aux_oldAutoMan := FALSE; "ED"[0].Aux_oldAutoMan := FALSE;
"ED"[0].Config_TipoAcceso := 0;
"ED"[0].Config_GrupoAlarma := 0; "ED"[0].Config_GrupoAlarma := 0;
"ED"[0].Config_DirEntradaByte := 0; "ED"[0].Config_DirEntradaByte := 0;
"ED"[0].Config_DirEntradaBit := 0; "ED"[0].Config_DirEntradaBit := 0;
@@ -42,8 +44,114 @@ DATA_BLOCK DB2000_ED
"ED"[0].Tiempos_TiempoDes := 0; "ED"[0].Tiempos_TiempoDes := 0;
{ S7_MLC := "MLC_3vw" } { S7_MLC := "MLC_3vw" }
ED[0] := (); ED[0] := ();
"ED"[1].Hmi_Estado := 9;
"ED"[1].Estado_AutoMan := FALSE;
"ED"[1].Estado_Activado := TRUE;
"ED"[1].Estado_EntradaCanal := TRUE;
"ED"[1].Orden_ActivarManual := TRUE;
"ED"[1].Config_Habilitar := TRUE;
"ED"[1].Config_HabilitarRetardoAct := FALSE;
"ED"[1].Config_HabilitarRetardoDes := FALSE;
"ED"[1].Config_HabilitarInvertir := FALSE;
"ED"[1].Aux_oldActivado := TRUE;
"ED"[1].Aux_oldAutoMan := FALSE;
"ED"[1].Config_TipoAcceso := 0;
"ED"[1].Config_GrupoAlarma := 0;
"ED"[1].Config_DirEntradaByte := 202;
"ED"[1].Config_DirEntradaBit := 0;
"ED"[1].Tiempos_SPTiempoAct := 3;
"ED"[1].Tiempos_SPTiempoDes := 3;
"ED"[1].Tiempos_TiempoAct := 0;
"ED"[1].Tiempos_TiempoDes := 0;
{ S7_MLC := "MLC_334" }
ED[1] := ();
"ED"[2].Hmi_Estado := 1;
"ED"[2].Estado_AutoMan := FALSE;
"ED"[2].Estado_Activado := FALSE;
"ED"[2].Estado_EntradaCanal := FALSE;
"ED"[2].Orden_ActivarManual := FALSE;
"ED"[2].Config_Habilitar := TRUE;
"ED"[2].Config_HabilitarRetardoAct := FALSE;
"ED"[2].Config_HabilitarRetardoDes := FALSE;
"ED"[2].Config_HabilitarInvertir := FALSE;
"ED"[2].Aux_oldActivado := FALSE;
"ED"[2].Aux_oldAutoMan := FALSE;
"ED"[2].Config_TipoAcceso := 0;
"ED"[2].Config_GrupoAlarma := 0;
"ED"[2].Config_DirEntradaByte := 202;
"ED"[2].Config_DirEntradaBit := 1;
"ED"[2].Tiempos_SPTiempoAct := 3;
"ED"[2].Tiempos_SPTiempoDes := 3;
"ED"[2].Tiempos_TiempoAct := 0;
"ED"[2].Tiempos_TiempoDes := 0;
{ S7_MLC := "MLC_3BG" }
ED[2] := ();
"ED"[3].Hmi_Estado := 1;
"ED"[3].Estado_AutoMan := FALSE;
"ED"[3].Estado_Activado := FALSE;
"ED"[3].Estado_EntradaCanal := FALSE;
"ED"[3].Orden_ActivarManual := FALSE;
"ED"[3].Config_Habilitar := TRUE;
"ED"[3].Config_HabilitarRetardoAct := FALSE;
"ED"[3].Config_HabilitarRetardoDes := FALSE;
"ED"[3].Config_HabilitarInvertir := FALSE;
"ED"[3].Aux_oldActivado := FALSE;
"ED"[3].Aux_oldAutoMan := FALSE;
"ED"[3].Config_TipoAcceso := 0;
"ED"[3].Config_GrupoAlarma := 0;
"ED"[3].Config_DirEntradaByte := 202;
"ED"[3].Config_DirEntradaBit := 2;
"ED"[3].Tiempos_SPTiempoAct := 3;
"ED"[3].Tiempos_SPTiempoDes := 3;
"ED"[3].Tiempos_TiempoAct := 0;
"ED"[3].Tiempos_TiempoDes := 0;
{ S7_MLC := "MLC_3s6" }
ED[3] := ();
"ED"[4].Hmi_Estado := 1;
"ED"[4].Estado_AutoMan := FALSE;
"ED"[4].Estado_Activado := FALSE;
"ED"[4].Estado_EntradaCanal := FALSE;
"ED"[4].Orden_ActivarManual := FALSE;
"ED"[4].Config_Habilitar := TRUE;
"ED"[4].Config_HabilitarRetardoAct := FALSE;
"ED"[4].Config_HabilitarRetardoDes := FALSE;
"ED"[4].Config_HabilitarInvertir := FALSE;
"ED"[4].Aux_oldActivado := FALSE;
"ED"[4].Aux_oldAutoMan := FALSE;
"ED"[4].Config_TipoAcceso := 0;
"ED"[4].Config_GrupoAlarma := 0;
"ED"[4].Config_DirEntradaByte := 202;
"ED"[4].Config_DirEntradaBit := 3;
"ED"[4].Tiempos_SPTiempoAct := 3;
"ED"[4].Tiempos_SPTiempoDes := 3;
"ED"[4].Tiempos_TiempoAct := 0;
"ED"[4].Tiempos_TiempoDes := 0;
{ S7_MLC := "MLC_3W8" }
ED[4] := ();
"ED"[5].Hmi_Estado := 1;
"ED"[5].Estado_AutoMan := FALSE;
"ED"[5].Estado_Activado := FALSE;
"ED"[5].Estado_EntradaCanal := FALSE;
"ED"[5].Orden_ActivarManual := FALSE;
"ED"[5].Config_Habilitar := TRUE;
"ED"[5].Config_HabilitarRetardoAct := FALSE;
"ED"[5].Config_HabilitarRetardoDes := FALSE;
"ED"[5].Config_HabilitarInvertir := FALSE;
"ED"[5].Aux_oldActivado := FALSE;
"ED"[5].Aux_oldAutoMan := FALSE;
"ED"[5].Config_TipoAcceso := 0;
"ED"[5].Config_GrupoAlarma := 0;
"ED"[5].Config_DirEntradaByte := 202;
"ED"[5].Config_DirEntradaBit := 4;
"ED"[5].Tiempos_SPTiempoAct := 3;
"ED"[5].Tiempos_SPTiempoDes := 3;
"ED"[5].Tiempos_TiempoAct := 0;
"ED"[5].Tiempos_TiempoDes := 0;
{ S7_MLC := "MLC_eA" }
ED[5] := ();
Agrup[0].AlgunaEnManual := FALSE; Agrup[0].AlgunaEnManual := FALSE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 24;
END_DATA_BLOCK END_DATA_BLOCK
@@ -7,3 +7,13 @@
es-ES: . es-ES: .
- id: MLC_3vw - id: MLC_3vw
es-ES: NO SE USA es-ES: NO SE USA
- id: MLC_334
es-ES: DP-201
- id: MLC_3BG
es-ES: DP-202
- id: MLC_3s6
es-ES: DP-203
- id: MLC_3W8
es-ES: DP-204
- id: MLC_eA
es-ES: DP-205
@@ -23,6 +23,7 @@ DATA_BLOCK DB2001_EA
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
EA[0].Hmi_Estado := 0;
EA[0].Estado_ValorIngenieria := 0.0; EA[0].Estado_ValorIngenieria := 0.0;
EA[0].Estado_AutoMan := FALSE; EA[0].Estado_AutoMan := FALSE;
EA[0].Alarmas_Min := FALSE; EA[0].Alarmas_Min := FALSE;
@@ -55,8 +56,174 @@ DATA_BLOCK DB2001_EA
EA[0].Aux_Estado := 0; EA[0].Aux_Estado := 0;
{ S7_MLC := "MLC_3VM" } { S7_MLC := "MLC_3VM" }
EA[0] := (); EA[0] := ();
EA[1].Hmi_Estado := 1;
EA[1].Estado_ValorIngenieria := 276.4214;
EA[1].Estado_AutoMan := FALSE;
EA[1].Alarmas_Min := FALSE;
EA[1].Alarmas_Max := FALSE;
EA[1].Alarmas_HiloRoto := FALSE;
EA[1].Alarmas_Lectura := FALSE;
EA[1].Alarmas_Parametros := FALSE;
EA[1].Alarmas_General := FALSE;
EA[1].Config_Habilitar := TRUE;
EA[1].Config_HabilitarAlarmaMin := FALSE;
EA[1].Config_HabilitarAlarmaMax := FALSE;
EA[1].Config_HisteresisTipo := FALSE;
EA[1].Aux_oldAlarma := FALSE;
EA[1].Aux_oldAutoMan := FALSE;
EA[1].Config_TipoAcceso := 0;
EA[1].Config_GrupoAlarma := 0;
EA[1].Estado_ValorTarjeta := 6114;
EA[1].Estado_Lectura := 16#0000;
EA[1].Orden_ConsignaManual := 276.4214;
EA[1].Config_DireccionEntradaByte := 2000;
EA[1].Config_EscaladoMinTarjeta := 0;
EA[1].Config_EscaladoMaxTarjeta := 27648;
EA[1].Config_EscaladoMinIngenieria := 0.0;
EA[1].Config_EscaladoMaxIngenieria := 1250.0;
EA[1].Config_EscaladoOffset := 0.0;
EA[1].Config_ErrorMinIngenieria := 0.0;
EA[1].Config_ErrorMaxIngenieria := 100.0;
EA[1].Config_ErrorMinHisteresis := 0.0;
EA[1].Config_ErrorMaxHisteresis := 0.0;
EA[1].Aux_Estado := 1;
{ S7_MLC := "MLC_3T7" }
EA[1] := ();
EA[2].Hmi_Estado := 1;
EA[2].Estado_ValorIngenieria := 1.0489;
EA[2].Estado_AutoMan := FALSE;
EA[2].Alarmas_Min := FALSE;
EA[2].Alarmas_Max := FALSE;
EA[2].Alarmas_HiloRoto := FALSE;
EA[2].Alarmas_Lectura := FALSE;
EA[2].Alarmas_Parametros := FALSE;
EA[2].Alarmas_General := FALSE;
EA[2].Config_Habilitar := TRUE;
EA[2].Config_HabilitarAlarmaMin := FALSE;
EA[2].Config_HabilitarAlarmaMax := FALSE;
EA[2].Config_HisteresisTipo := FALSE;
EA[2].Aux_oldAlarma := FALSE;
EA[2].Aux_oldAutoMan := FALSE;
EA[2].Config_TipoAcceso := 0;
EA[2].Config_GrupoAlarma := 0;
EA[2].Estado_ValorTarjeta := 29;
EA[2].Estado_Lectura := 16#0000;
EA[2].Orden_ConsignaManual := 1.0489;
EA[2].Config_DireccionEntradaByte := 2002;
EA[2].Config_EscaladoMinTarjeta := 0;
EA[2].Config_EscaladoMaxTarjeta := 27648;
EA[2].Config_EscaladoMinIngenieria := 0.0;
EA[2].Config_EscaladoMaxIngenieria := 1000.0;
EA[2].Config_EscaladoOffset := 0.0;
EA[2].Config_ErrorMinIngenieria := 0.0;
EA[2].Config_ErrorMaxIngenieria := 100.0;
EA[2].Config_ErrorMinHisteresis := 0.0;
EA[2].Config_ErrorMaxHisteresis := 0.0;
EA[2].Aux_Estado := 1;
{ S7_MLC := "MLC_4zB" }
EA[2] := ();
EA[3].Hmi_Estado := 1;
EA[3].Estado_ValorIngenieria := 10.41667;
EA[3].Estado_AutoMan := FALSE;
EA[3].Alarmas_Min := FALSE;
EA[3].Alarmas_Max := FALSE;
EA[3].Alarmas_HiloRoto := FALSE;
EA[3].Alarmas_Lectura := FALSE;
EA[3].Alarmas_Parametros := FALSE;
EA[3].Alarmas_General := FALSE;
EA[3].Config_Habilitar := TRUE;
EA[3].Config_HabilitarAlarmaMin := FALSE;
EA[3].Config_HabilitarAlarmaMax := FALSE;
EA[3].Config_HisteresisTipo := FALSE;
EA[3].Aux_oldAlarma := FALSE;
EA[3].Aux_oldAutoMan := FALSE;
EA[3].Config_TipoAcceso := 0;
EA[3].Config_GrupoAlarma := 0;
EA[3].Estado_ValorTarjeta := 4;
EA[3].Estado_Lectura := 16#0000;
EA[3].Orden_ConsignaManual := 10.41667;
EA[3].Config_DireccionEntradaByte := 2004;
EA[3].Config_EscaladoMinTarjeta := 0;
EA[3].Config_EscaladoMaxTarjeta := 27648;
EA[3].Config_EscaladoMinIngenieria := 0.0;
EA[3].Config_EscaladoMaxIngenieria := 72000.0;
EA[3].Config_EscaladoOffset := 0.0;
EA[3].Config_ErrorMinIngenieria := 0.0;
EA[3].Config_ErrorMaxIngenieria := 100.0;
EA[3].Config_ErrorMinHisteresis := 0.0;
EA[3].Config_ErrorMaxHisteresis := 0.0;
EA[3].Aux_Estado := 1;
{ S7_MLC := "MLC_4ni" }
EA[3] := ();
EA[4].Hmi_Estado := 1;
EA[4].Estado_ValorIngenieria := 25.16204;
EA[4].Estado_AutoMan := FALSE;
EA[4].Alarmas_Min := FALSE;
EA[4].Alarmas_Max := FALSE;
EA[4].Alarmas_HiloRoto := FALSE;
EA[4].Alarmas_Lectura := FALSE;
EA[4].Alarmas_Parametros := FALSE;
EA[4].Alarmas_General := FALSE;
EA[4].Config_Habilitar := TRUE;
EA[4].Config_HabilitarAlarmaMin := FALSE;
EA[4].Config_HabilitarAlarmaMax := FALSE;
EA[4].Config_HisteresisTipo := FALSE;
EA[4].Aux_oldAlarma := FALSE;
EA[4].Aux_oldAutoMan := FALSE;
EA[4].Config_TipoAcceso := 0;
EA[4].Config_GrupoAlarma := 0;
EA[4].Estado_ValorTarjeta := 6076;
EA[4].Estado_Lectura := 16#0000;
EA[4].Orden_ConsignaManual := 25.16204;
EA[4].Config_DireccionEntradaByte := 2008;
EA[4].Config_EscaladoMinTarjeta := 0;
EA[4].Config_EscaladoMaxTarjeta := 27648;
EA[4].Config_EscaladoMinIngenieria := -10.0;
EA[4].Config_EscaladoMaxIngenieria := 150.0;
EA[4].Config_EscaladoOffset := 0.0;
EA[4].Config_ErrorMinIngenieria := 0.0;
EA[4].Config_ErrorMaxIngenieria := 100.0;
EA[4].Config_ErrorMinHisteresis := 0.0;
EA[4].Config_ErrorMaxHisteresis := 0.0;
EA[4].Aux_Estado := 1;
{ S7_MLC := "MLC_jP" }
EA[4] := ();
EA[5].Hmi_Estado := 1;
EA[5].Estado_ValorIngenieria := 25.19676;
EA[5].Estado_AutoMan := FALSE;
EA[5].Alarmas_Min := FALSE;
EA[5].Alarmas_Max := FALSE;
EA[5].Alarmas_HiloRoto := FALSE;
EA[5].Alarmas_Lectura := FALSE;
EA[5].Alarmas_Parametros := FALSE;
EA[5].Alarmas_General := FALSE;
EA[5].Config_Habilitar := TRUE;
EA[5].Config_HabilitarAlarmaMin := FALSE;
EA[5].Config_HabilitarAlarmaMax := FALSE;
EA[5].Config_HisteresisTipo := FALSE;
EA[5].Aux_oldAlarma := FALSE;
EA[5].Aux_oldAutoMan := FALSE;
EA[5].Config_TipoAcceso := 0;
EA[5].Config_GrupoAlarma := 0;
EA[5].Estado_ValorTarjeta := 6082;
EA[5].Estado_Lectura := 16#0000;
EA[5].Orden_ConsignaManual := 25.19676;
EA[5].Config_DireccionEntradaByte := 2010;
EA[5].Config_EscaladoMinTarjeta := 0;
EA[5].Config_EscaladoMaxTarjeta := 27648;
EA[5].Config_EscaladoMinIngenieria := -10.0;
EA[5].Config_EscaladoMaxIngenieria := 150.0;
EA[5].Config_EscaladoOffset := 0.0;
EA[5].Config_ErrorMinIngenieria := 0.0;
EA[5].Config_ErrorMaxIngenieria := 100.0;
EA[5].Config_ErrorMinHisteresis := 0.0;
EA[5].Config_ErrorMaxHisteresis := 0.0;
EA[5].Aux_Estado := 1;
{ S7_MLC := "MLC_3ah" }
EA[5] := ();
Agrup[0].AlgunaEnManual := FALSE; Agrup[0].AlgunaEnManual := FALSE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := TRUE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 30;
END_DATA_BLOCK END_DATA_BLOCK
@@ -7,3 +7,13 @@
es-ES: . es-ES: .
- id: MLC_3VM - id: MLC_3VM
es-ES: NO SE USA es-ES: NO SE USA
- id: MLC_3T7
es-ES: LT-201
- id: MLC_4zB
es-ES: CT-201
- id: MLC_4ni
es-ES: FT-201
- id: MLC_jP
es-ES: TTI-201
- id: MLC_3ah
es-ES: TTI-202
@@ -23,9 +23,11 @@ DATA_BLOCK DB2005_SD
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
SD[0].Hmi_Estado := 0;
SD[0].Estado_AutoMan := FALSE; SD[0].Estado_AutoMan := FALSE;
SD[0].Estado_Activado := FALSE; SD[0].Estado_Activado := FALSE;
SD[0].Estado_Enclavado := FALSE; SD[0].Estado_Enclavado := FALSE;
SD[0].Estado_Salida := FALSE;
SD[0].Orden_ActivarManual := FALSE; SD[0].Orden_ActivarManual := FALSE;
SD[0].Orden_ActivarAuto := FALSE; SD[0].Orden_ActivarAuto := FALSE;
SD[0].Config_Habilitar := FALSE; SD[0].Config_Habilitar := FALSE;
@@ -35,6 +37,7 @@ DATA_BLOCK DB2005_SD
SD[0].Aux_oldActivado := FALSE; SD[0].Aux_oldActivado := FALSE;
SD[0].Aux_oldAutoMan := FALSE; SD[0].Aux_oldAutoMan := FALSE;
SD[0].Estado_SeguridadOk := TRUE; SD[0].Estado_SeguridadOk := TRUE;
SD[0].Config_TipoAcceso := 0;
SD[0].Config_GrupoAlarma := 0; SD[0].Config_GrupoAlarma := 0;
SD[0].Config_DireccionSalidaByte := 0; SD[0].Config_DireccionSalidaByte := 0;
SD[0].Config_DireccionSalidaBit := 0; SD[0].Config_DireccionSalidaBit := 0;
@@ -47,5 +50,6 @@ DATA_BLOCK DB2005_SD
Agrup[0].AlgunaEnManual := FALSE; Agrup[0].AlgunaEnManual := FALSE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -23,6 +23,8 @@ DATA_BLOCK DB2006_SA
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
SA[0].Hmi_Estado := 0;
SA[0].Estado_ValorActual := 0.0;
SA[0].Estado_AutoMan := FALSE; SA[0].Estado_AutoMan := FALSE;
SA[0].Estado_Enclavado := FALSE; SA[0].Estado_Enclavado := FALSE;
SA[0].Alarmas_Min := FALSE; SA[0].Alarmas_Min := FALSE;
@@ -36,6 +38,7 @@ DATA_BLOCK DB2006_SA
SA[0].Aux_oldAlarma := FALSE; SA[0].Aux_oldAlarma := FALSE;
SA[0].Aux_oldAutoMan := FALSE; SA[0].Aux_oldAutoMan := FALSE;
SA[0].Estado_SeguridadOk := TRUE; SA[0].Estado_SeguridadOk := TRUE;
SA[0].Config_TipoAcceso := 0;
SA[0].Config_GrupoAlarma := 0; SA[0].Config_GrupoAlarma := 0;
SA[0].Estado_ValorTarjeta := 0; SA[0].Estado_ValorTarjeta := 0;
SA[0].Estado_Escritura := 16#0000; SA[0].Estado_Escritura := 16#0000;
@@ -53,8 +56,172 @@ DATA_BLOCK DB2006_SA
SA[0].Aux_Estado := 0; SA[0].Aux_Estado := 0;
{ S7_MLC := "MLC_4Nk" } { S7_MLC := "MLC_4Nk" }
SA[0] := (); SA[0] := ();
Agrup[0].AlgunaEnManual := FALSE; SA[1].Hmi_Estado := 3;
SA[1].Estado_ValorActual := 100.0;
SA[1].Estado_AutoMan := TRUE;
SA[1].Estado_Enclavado := FALSE;
SA[1].Alarmas_Min := FALSE;
SA[1].Alarmas_Max := FALSE;
SA[1].Alarmas_Escritura := FALSE;
SA[1].Alarmas_Parametros := FALSE;
SA[1].Alarmas_General := FALSE;
SA[1].Config_Habilitar := TRUE;
SA[1].Config_HabilitarAlarmaMin := FALSE;
SA[1].Config_HabilitarAlarmaMax := FALSE;
SA[1].Aux_oldAlarma := FALSE;
SA[1].Aux_oldAutoMan := TRUE;
SA[1].Estado_SeguridadOk := TRUE;
SA[1].Config_TipoAcceso := 0;
SA[1].Config_GrupoAlarma := 0;
SA[1].Estado_ValorTarjeta := 27648;
SA[1].Estado_Escritura := 16#0000;
SA[1].Orden_ConsignaManual := 100.0;
SA[1].Orden_ConsignaAuto := 0.0;
SA[1].Orden_ConsignaEnclavado := 0.0;
SA[1].Config_DireccionSalidaByte := 2002;
SA[1].Config_EscaladoMinTarjeta := 0;
SA[1].Config_EscaladoMaxTarjeta := 27648;
SA[1].Config_EscaladoMinIngenieria := 0.0;
SA[1].Config_EscaladoMaxIngenieria := 100.0;
SA[1].Config_EscaladoOffset := 0.0;
SA[1].Config_ErrorMinIngenieria := 0.0;
SA[1].Config_ErrorMaxIngenieria := 0.0;
SA[1].Aux_Estado := 2;
{ S7_MLC := "MLC_4VS" }
SA[1] := ();
SA[2].Hmi_Estado := 1;
SA[2].Estado_ValorActual := 0.0;
SA[2].Estado_AutoMan := FALSE;
SA[2].Estado_Enclavado := FALSE;
SA[2].Alarmas_Min := FALSE;
SA[2].Alarmas_Max := FALSE;
SA[2].Alarmas_Escritura := FALSE;
SA[2].Alarmas_Parametros := FALSE;
SA[2].Alarmas_General := FALSE;
SA[2].Config_Habilitar := TRUE;
SA[2].Config_HabilitarAlarmaMin := FALSE;
SA[2].Config_HabilitarAlarmaMax := FALSE;
SA[2].Aux_oldAlarma := FALSE;
SA[2].Aux_oldAutoMan := FALSE;
SA[2].Estado_SeguridadOk := TRUE;
SA[2].Config_TipoAcceso := 0;
SA[2].Config_GrupoAlarma := 0;
SA[2].Estado_ValorTarjeta := 0;
SA[2].Estado_Escritura := 16#0000;
SA[2].Orden_ConsignaManual := 0.0;
SA[2].Orden_ConsignaAuto := 0.0;
SA[2].Orden_ConsignaEnclavado := 0.0;
SA[2].Config_DireccionSalidaByte := 2004;
SA[2].Config_EscaladoMinTarjeta := 0;
SA[2].Config_EscaladoMaxTarjeta := 27648;
SA[2].Config_EscaladoMinIngenieria := 0.0;
SA[2].Config_EscaladoMaxIngenieria := 100.0;
SA[2].Config_EscaladoOffset := 0.0;
SA[2].Config_ErrorMinIngenieria := 0.0;
SA[2].Config_ErrorMaxIngenieria := 0.0;
SA[2].Aux_Estado := 1;
{ S7_MLC := "MLC_Rp" }
SA[2] := ();
SA[3].Hmi_Estado := 3;
SA[3].Estado_ValorActual := 100.0;
SA[3].Estado_AutoMan := TRUE;
SA[3].Estado_Enclavado := FALSE;
SA[3].Alarmas_Min := FALSE;
SA[3].Alarmas_Max := FALSE;
SA[3].Alarmas_Escritura := FALSE;
SA[3].Alarmas_Parametros := FALSE;
SA[3].Alarmas_General := FALSE;
SA[3].Config_Habilitar := TRUE;
SA[3].Config_HabilitarAlarmaMin := FALSE;
SA[3].Config_HabilitarAlarmaMax := FALSE;
SA[3].Aux_oldAlarma := FALSE;
SA[3].Aux_oldAutoMan := TRUE;
SA[3].Estado_SeguridadOk := TRUE;
SA[3].Config_TipoAcceso := 0;
SA[3].Config_GrupoAlarma := 0;
SA[3].Estado_ValorTarjeta := 27648;
SA[3].Estado_Escritura := 16#0000;
SA[3].Orden_ConsignaManual := 100.0;
SA[3].Orden_ConsignaAuto := 0.0;
SA[3].Orden_ConsignaEnclavado := 0.0;
SA[3].Config_DireccionSalidaByte := 2006;
SA[3].Config_EscaladoMinTarjeta := 0;
SA[3].Config_EscaladoMaxTarjeta := 27648;
SA[3].Config_EscaladoMinIngenieria := 0.0;
SA[3].Config_EscaladoMaxIngenieria := 100.0;
SA[3].Config_EscaladoOffset := 0.0;
SA[3].Config_ErrorMinIngenieria := 0.0;
SA[3].Config_ErrorMaxIngenieria := 0.0;
SA[3].Aux_Estado := 2;
{ S7_MLC := "MLC_4DF" }
SA[3] := ();
SA[4].Hmi_Estado := 1;
SA[4].Estado_ValorActual := 0.0;
SA[4].Estado_AutoMan := FALSE;
SA[4].Estado_Enclavado := FALSE;
SA[4].Alarmas_Min := FALSE;
SA[4].Alarmas_Max := FALSE;
SA[4].Alarmas_Escritura := FALSE;
SA[4].Alarmas_Parametros := FALSE;
SA[4].Alarmas_General := FALSE;
SA[4].Config_Habilitar := TRUE;
SA[4].Config_HabilitarAlarmaMin := FALSE;
SA[4].Config_HabilitarAlarmaMax := FALSE;
SA[4].Aux_oldAlarma := FALSE;
SA[4].Aux_oldAutoMan := FALSE;
SA[4].Estado_SeguridadOk := TRUE;
SA[4].Config_TipoAcceso := 0;
SA[4].Config_GrupoAlarma := 0;
SA[4].Estado_ValorTarjeta := 0;
SA[4].Estado_Escritura := 16#0000;
SA[4].Orden_ConsignaManual := -0.166739;
SA[4].Orden_ConsignaAuto := -0.166739;
SA[4].Orden_ConsignaEnclavado := 0.0;
SA[4].Config_DireccionSalidaByte := 2008;
SA[4].Config_EscaladoMinTarjeta := 0;
SA[4].Config_EscaladoMaxTarjeta := 27648;
SA[4].Config_EscaladoMinIngenieria := 0.0;
SA[4].Config_EscaladoMaxIngenieria := 10.0;
SA[4].Config_EscaladoOffset := 0.0;
SA[4].Config_ErrorMinIngenieria := 0.0;
SA[4].Config_ErrorMaxIngenieria := 0.0;
SA[4].Aux_Estado := 1;
{ S7_MLC := "MLC_3hb" }
SA[4] := ();
SA[5].Hmi_Estado := 0;
SA[5].Estado_ValorActual := 0.0;
SA[5].Estado_AutoMan := FALSE;
SA[5].Estado_Enclavado := FALSE;
SA[5].Alarmas_Min := FALSE;
SA[5].Alarmas_Max := FALSE;
SA[5].Alarmas_Escritura := FALSE;
SA[5].Alarmas_Parametros := FALSE;
SA[5].Alarmas_General := FALSE;
SA[5].Config_Habilitar := FALSE;
SA[5].Config_HabilitarAlarmaMin := FALSE;
SA[5].Config_HabilitarAlarmaMax := FALSE;
SA[5].Aux_oldAlarma := FALSE;
SA[5].Aux_oldAutoMan := FALSE;
SA[5].Estado_SeguridadOk := TRUE;
SA[5].Config_TipoAcceso := 0;
SA[5].Config_GrupoAlarma := 0;
SA[5].Estado_ValorTarjeta := 0;
SA[5].Estado_Escritura := 16#0000;
SA[5].Orden_ConsignaManual := 0.0;
SA[5].Orden_ConsignaAuto := 0.0;
SA[5].Orden_ConsignaEnclavado := 0.0;
SA[5].Config_DireccionSalidaByte := 0;
SA[5].Config_EscaladoMinTarjeta := 0;
SA[5].Config_EscaladoMaxTarjeta := 27648;
SA[5].Config_EscaladoMinIngenieria := 0.0;
SA[5].Config_EscaladoMaxIngenieria := 100.0;
SA[5].Config_EscaladoOffset := 0.0;
SA[5].Config_ErrorMinIngenieria := 0.0;
SA[5].Config_ErrorMaxIngenieria := 0.0;
SA[5].Aux_Estado := 0;
Agrup[0].AlgunaEnManual := TRUE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 10;
END_DATA_BLOCK END_DATA_BLOCK
@@ -7,3 +7,11 @@
es-ES: . es-ES: .
- id: MLC_4Nk - id: MLC_4Nk
es-ES: NO SE USA es-ES: NO SE USA
- id: MLC_4VS
es-ES: VPCT-201
- id: MLC_Rp
es-ES: VPCT-202
- id: MLC_4DF
es-ES: VPCP-203
- id: MLC_3hb
es-ES: Delta Presion
@@ -23,12 +23,14 @@ DATA_BLOCK DB2010_V
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
V[0].Hmi_Estado := 0;
V[0].Estado_AutoMan := FALSE; V[0].Estado_AutoMan := FALSE;
V[0].Estado_Activado := FALSE; V[0].Estado_Activado := FALSE;
V[0].Estado_Enclavado := FALSE; V[0].Estado_Enclavado := FALSE;
V[0].Estado_SeguridadOk := TRUE; V[0].Estado_SeguridadOk := TRUE;
V[0].Estado_EntradaRetornoReposo := FALSE; V[0].Estado_EntradaRetornoReposo := FALSE;
V[0].Estado_EntradaRetornoTrabajo := FALSE; V[0].Estado_EntradaRetornoTrabajo := FALSE;
V[0].Estado_Salida := FALSE;
V[0].Alarmas_Reposo := FALSE; V[0].Alarmas_Reposo := FALSE;
V[0].Alarmas_Trabajo := FALSE; V[0].Alarmas_Trabajo := FALSE;
V[0].Alarmas_Mantenimiento := FALSE; V[0].Alarmas_Mantenimiento := FALSE;
@@ -46,6 +48,7 @@ DATA_BLOCK DB2010_V
V[0].Aux_oldActivado := FALSE; V[0].Aux_oldActivado := FALSE;
V[0].Aux_oldAlarma := FALSE; V[0].Aux_oldAlarma := FALSE;
V[0].Aux_oldAutoMan := FALSE; V[0].Aux_oldAutoMan := FALSE;
V[0].Config_TipoAcceso := 0;
V[0].Config_GrupoAlarma := 0; V[0].Config_GrupoAlarma := 0;
V[0].Config_DireccionSalidaByte := 0; V[0].Config_DireccionSalidaByte := 0;
V[0].Config_DireccionSalidaBit := 0; V[0].Config_DireccionSalidaBit := 0;
@@ -59,8 +62,204 @@ DATA_BLOCK DB2010_V
V[0].Tiempos_Ciclos := 0; V[0].Tiempos_Ciclos := 0;
{ S7_MLC := "MLC_k3" } { S7_MLC := "MLC_k3" }
V[0] := (); V[0] := ();
Agrup[0].AlgunaEnManual := FALSE; V[1].Hmi_Estado := 3;
Agrup[0].AlgunaAlarma := FALSE; V[1].Estado_AutoMan := TRUE;
V[1].Estado_Activado := FALSE;
V[1].Estado_Enclavado := FALSE;
V[1].Estado_SeguridadOk := TRUE;
V[1].Estado_EntradaRetornoReposo := TRUE;
V[1].Estado_EntradaRetornoTrabajo := FALSE;
V[1].Estado_Salida := FALSE;
V[1].Alarmas_Reposo := FALSE;
V[1].Alarmas_Trabajo := FALSE;
V[1].Alarmas_Mantenimiento := FALSE;
V[1].Alarmas_Doble := FALSE;
V[1].Alarmas_General := FALSE;
V[1].Orden_ActivarManual := FALSE;
V[1].Orden_ActivarAuto := FALSE;
V[1].Orden_ResetCiclos := FALSE;
V[1].Config_Habilitar := TRUE;
V[1].Config_HabilitarRetornoReposo := TRUE;
V[1].Config_HabilitarInvertirReposo := FALSE;
V[1].Config_HabilitarRetornoTrabajo := TRUE;
V[1].Config_HabilitarInvertirTrabajo := FALSE;
V[1].Config_HabilitarMantenimiento := FALSE;
V[1].Aux_oldActivado := FALSE;
V[1].Aux_oldAlarma := FALSE;
V[1].Aux_oldAutoMan := TRUE;
V[1].Config_TipoAcceso := 0;
V[1].Config_GrupoAlarma := 0;
V[1].Config_DireccionSalidaByte := 12000;
V[1].Config_DireccionSalidaBit := 1;
V[1].Config_DireccionRetReposoByte := 12000;
V[1].Config_DireccionRetReposoBit := 0;
V[1].Config_DireccionRetTrabajoByte := 12000;
V[1].Config_DireccionRetTrabajoBit := 1;
V[1].Tiempos_SetPointTiempoAlarma := 10;
V[1].Tiempos_Alarma := 0;
V[1].Tiempos_SetPointCiclos := 1000;
V[1].Tiempos_Ciclos := 6;
{ S7_MLC := "MLC_3HV" }
V[1] := ();
V[2].Hmi_Estado := 1;
V[2].Estado_AutoMan := FALSE;
V[2].Estado_Activado := FALSE;
V[2].Estado_Enclavado := FALSE;
V[2].Estado_SeguridadOk := TRUE;
V[2].Estado_EntradaRetornoReposo := TRUE;
V[2].Estado_EntradaRetornoTrabajo := FALSE;
V[2].Estado_Salida := FALSE;
V[2].Alarmas_Reposo := FALSE;
V[2].Alarmas_Trabajo := FALSE;
V[2].Alarmas_Mantenimiento := FALSE;
V[2].Alarmas_Doble := FALSE;
V[2].Alarmas_General := FALSE;
V[2].Orden_ActivarManual := FALSE;
V[2].Orden_ActivarAuto := FALSE;
V[2].Orden_ResetCiclos := FALSE;
V[2].Config_Habilitar := TRUE;
V[2].Config_HabilitarRetornoReposo := TRUE;
V[2].Config_HabilitarInvertirReposo := FALSE;
V[2].Config_HabilitarRetornoTrabajo := TRUE;
V[2].Config_HabilitarInvertirTrabajo := FALSE;
V[2].Config_HabilitarMantenimiento := FALSE;
V[2].Aux_oldActivado := FALSE;
V[2].Aux_oldAlarma := FALSE;
V[2].Aux_oldAutoMan := FALSE;
V[2].Config_TipoAcceso := 0;
V[2].Config_GrupoAlarma := 0;
V[2].Config_DireccionSalidaByte := 12001;
V[2].Config_DireccionSalidaBit := 5;
V[2].Config_DireccionRetReposoByte := 12001;
V[2].Config_DireccionRetReposoBit := 4;
V[2].Config_DireccionRetTrabajoByte := 12001;
V[2].Config_DireccionRetTrabajoBit := 5;
V[2].Tiempos_SetPointTiempoAlarma := 10;
V[2].Tiempos_Alarma := 0;
V[2].Tiempos_SetPointCiclos := 1000;
V[2].Tiempos_Ciclos := 6;
{ S7_MLC := "MLC_3FJ" }
V[2] := ();
V[3].Hmi_Estado := 11;
V[3].Estado_AutoMan := TRUE;
V[3].Estado_Activado := TRUE;
V[3].Estado_Enclavado := FALSE;
V[3].Estado_SeguridadOk := TRUE;
V[3].Estado_EntradaRetornoReposo := FALSE;
V[3].Estado_EntradaRetornoTrabajo := TRUE;
V[3].Estado_Salida := TRUE;
V[3].Alarmas_Reposo := FALSE;
V[3].Alarmas_Trabajo := FALSE;
V[3].Alarmas_Mantenimiento := FALSE;
V[3].Alarmas_Doble := FALSE;
V[3].Alarmas_General := FALSE;
V[3].Orden_ActivarManual := TRUE;
V[3].Orden_ActivarAuto := FALSE;
V[3].Orden_ResetCiclos := FALSE;
V[3].Config_Habilitar := TRUE;
V[3].Config_HabilitarRetornoReposo := TRUE;
V[3].Config_HabilitarInvertirReposo := FALSE;
V[3].Config_HabilitarRetornoTrabajo := TRUE;
V[3].Config_HabilitarInvertirTrabajo := FALSE;
V[3].Config_HabilitarMantenimiento := FALSE;
V[3].Aux_oldActivado := TRUE;
V[3].Aux_oldAlarma := FALSE;
V[3].Aux_oldAutoMan := TRUE;
V[3].Config_TipoAcceso := 0;
V[3].Config_GrupoAlarma := 0;
V[3].Config_DireccionSalidaByte := 12001;
V[3].Config_DireccionSalidaBit := 1;
V[3].Config_DireccionRetReposoByte := 12001;
V[3].Config_DireccionRetReposoBit := 0;
V[3].Config_DireccionRetTrabajoByte := 12001;
V[3].Config_DireccionRetTrabajoBit := 1;
V[3].Tiempos_SetPointTiempoAlarma := 10;
V[3].Tiempos_Alarma := 0;
V[3].Tiempos_SetPointCiclos := 1000;
V[3].Tiempos_Ciclos := 3;
{ S7_MLC := "MLC_33k" }
V[3] := ();
V[4].Hmi_Estado := 3;
V[4].Estado_AutoMan := TRUE;
V[4].Estado_Activado := FALSE;
V[4].Estado_Enclavado := FALSE;
V[4].Estado_SeguridadOk := TRUE;
V[4].Estado_EntradaRetornoReposo := TRUE;
V[4].Estado_EntradaRetornoTrabajo := FALSE;
V[4].Estado_Salida := FALSE;
V[4].Alarmas_Reposo := FALSE;
V[4].Alarmas_Trabajo := FALSE;
V[4].Alarmas_Mantenimiento := FALSE;
V[4].Alarmas_Doble := FALSE;
V[4].Alarmas_General := FALSE;
V[4].Orden_ActivarManual := FALSE;
V[4].Orden_ActivarAuto := FALSE;
V[4].Orden_ResetCiclos := FALSE;
V[4].Config_Habilitar := TRUE;
V[4].Config_HabilitarRetornoReposo := TRUE;
V[4].Config_HabilitarInvertirReposo := FALSE;
V[4].Config_HabilitarRetornoTrabajo := TRUE;
V[4].Config_HabilitarInvertirTrabajo := FALSE;
V[4].Config_HabilitarMantenimiento := FALSE;
V[4].Aux_oldActivado := FALSE;
V[4].Aux_oldAlarma := FALSE;
V[4].Aux_oldAutoMan := TRUE;
V[4].Config_TipoAcceso := 0;
V[4].Config_GrupoAlarma := 0;
V[4].Config_DireccionSalidaByte := 12002;
V[4].Config_DireccionSalidaBit := 5;
V[4].Config_DireccionRetReposoByte := 12002;
V[4].Config_DireccionRetReposoBit := 4;
V[4].Config_DireccionRetTrabajoByte := 12002;
V[4].Config_DireccionRetTrabajoBit := 5;
V[4].Tiempos_SetPointTiempoAlarma := 10;
V[4].Tiempos_Alarma := 0;
V[4].Tiempos_SetPointCiclos := 1000;
V[4].Tiempos_Ciclos := 4;
{ S7_MLC := "MLC_3Jq" }
V[4] := ();
V[5].Hmi_Estado := 257;
V[5].Estado_AutoMan := FALSE;
V[5].Estado_Activado := FALSE;
V[5].Estado_Enclavado := FALSE;
V[5].Estado_SeguridadOk := TRUE;
V[5].Estado_EntradaRetornoReposo := FALSE;
V[5].Estado_EntradaRetornoTrabajo := FALSE;
V[5].Estado_Salida := FALSE;
V[5].Alarmas_Reposo := TRUE;
V[5].Alarmas_Trabajo := FALSE;
V[5].Alarmas_Mantenimiento := FALSE;
V[5].Alarmas_Doble := TRUE;
V[5].Alarmas_General := TRUE;
V[5].Orden_ActivarManual := FALSE;
V[5].Orden_ActivarAuto := FALSE;
V[5].Orden_ResetCiclos := FALSE;
V[5].Config_Habilitar := TRUE;
V[5].Config_HabilitarRetornoReposo := TRUE;
V[5].Config_HabilitarInvertirReposo := FALSE;
V[5].Config_HabilitarRetornoTrabajo := TRUE;
V[5].Config_HabilitarInvertirTrabajo := FALSE;
V[5].Config_HabilitarMantenimiento := FALSE;
V[5].Aux_oldActivado := FALSE;
V[5].Aux_oldAlarma := TRUE;
V[5].Aux_oldAutoMan := FALSE;
V[5].Config_TipoAcceso := 0;
V[5].Config_GrupoAlarma := 0;
V[5].Config_DireccionSalidaByte := 12002;
V[5].Config_DireccionSalidaBit := 1;
V[5].Config_DireccionRetReposoByte := 12002;
V[5].Config_DireccionRetReposoBit := 0;
V[5].Config_DireccionRetTrabajoByte := 12002;
V[5].Config_DireccionRetTrabajoBit := 1;
V[5].Tiempos_SetPointTiempoAlarma := 10;
V[5].Tiempos_Alarma := 0;
V[5].Tiempos_SetPointCiclos := 1000;
V[5].Tiempos_Ciclos := 0;
{ S7_MLC := "MLC_4aj" }
V[5] := ();
Agrup[0].AlgunaEnManual := TRUE;
Agrup[0].AlgunaAlarma := TRUE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 40;
END_DATA_BLOCK END_DATA_BLOCK
@@ -7,3 +7,13 @@
es-ES: . es-ES: .
- id: MLC_k3 - id: MLC_k3
es-ES: NO SE USA es-ES: NO SE USA
- id: MLC_3HV
es-ES: VA4-201
- id: MLC_3FJ
es-ES: VA-202
- id: MLC_33k
es-ES: VA4-203
- id: MLC_3Jq
es-ES: VA-204
- id: MLC_4aj
es-ES: VA-205
@@ -23,12 +23,14 @@ DATA_BLOCK DB2015_M
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
"M"[0].Hmi_Estado := 0;
"M"[0].Estado_AutoMan := FALSE; "M"[0].Estado_AutoMan := FALSE;
"M"[0].Estado_Activado := FALSE; "M"[0].Estado_Activado := FALSE;
"M"[0].Estado_Enclavado := FALSE; "M"[0].Estado_Enclavado := FALSE;
"M"[0].Estado_SeguridadOk := TRUE; "M"[0].Estado_SeguridadOk := TRUE;
"M"[0].Estado_EntradaTermico := FALSE; "M"[0].Estado_EntradaTermico := FALSE;
"M"[0].Estado_EntradaConfMarcha := FALSE; "M"[0].Estado_EntradaConfMarcha := FALSE;
"M"[0].Estado_Salida := FALSE;
"M"[0].Alarmas_Termico := FALSE; "M"[0].Alarmas_Termico := FALSE;
"M"[0].Alarmas_ConfirmacionMarcha := FALSE; "M"[0].Alarmas_ConfirmacionMarcha := FALSE;
"M"[0].Alarmas_Mantenimiento := FALSE; "M"[0].Alarmas_Mantenimiento := FALSE;
@@ -45,6 +47,7 @@ DATA_BLOCK DB2015_M
"M"[0].Aux_oldActivado := FALSE; "M"[0].Aux_oldActivado := FALSE;
"M"[0].Aux_oldAlarma := FALSE; "M"[0].Aux_oldAlarma := FALSE;
"M"[0].Aux_oldAutoMan := FALSE; "M"[0].Aux_oldAutoMan := FALSE;
"M"[0].Config_TipoAcceso := 0;
"M"[0].Config_GrupoAlarma := 0; "M"[0].Config_GrupoAlarma := 0;
"M"[0].Config_DireccionSalidaByte := 0; "M"[0].Config_DireccionSalidaByte := 0;
"M"[0].Config_DireccionSalidaBit := 0; "M"[0].Config_DireccionSalidaBit := 0;
@@ -58,8 +61,193 @@ DATA_BLOCK DB2015_M
"M"[0].Tiempos_Mantenimiento := 0.0; "M"[0].Tiempos_Mantenimiento := 0.0;
{ S7_MLC := "MLC_4mp" } { S7_MLC := "MLC_4mp" }
M[0] := (); M[0] := ();
Agrup[0].AlgunaEnManual := FALSE; "M"[1].Hmi_Estado := 3;
"M"[1].Estado_AutoMan := TRUE;
"M"[1].Estado_Activado := FALSE;
"M"[1].Estado_Enclavado := FALSE;
"M"[1].Estado_SeguridadOk := TRUE;
"M"[1].Estado_EntradaTermico := FALSE;
"M"[1].Estado_EntradaConfMarcha := FALSE;
"M"[1].Estado_Salida := FALSE;
"M"[1].Alarmas_Termico := FALSE;
"M"[1].Alarmas_ConfirmacionMarcha := FALSE;
"M"[1].Alarmas_Mantenimiento := FALSE;
"M"[1].Alarmas_General := FALSE;
"M"[1].Orden_ActivarManual := FALSE;
"M"[1].Orden_ActivarAuto := FALSE;
"M"[1].Orden_ResetHoras := FALSE;
"M"[1].Config_Habilitar := TRUE;
"M"[1].Config_HabilitarRetornoTermico := FALSE;
"M"[1].Config_HabilitarInvertirTermico := FALSE;
"M"[1].Config_HabilitarRetornoConfMarcha := TRUE;
"M"[1].Config_HabilitarInvertirConfMarcha := FALSE;
"M"[1].Config_HabilitarMantenimiento := FALSE;
"M"[1].Aux_oldActivado := FALSE;
"M"[1].Aux_oldAlarma := FALSE;
"M"[1].Aux_oldAutoMan := TRUE;
"M"[1].Config_TipoAcceso := 0;
"M"[1].Config_GrupoAlarma := 0;
"M"[1].Config_DireccionSalidaByte := 200;
"M"[1].Config_DireccionSalidaBit := 1;
"M"[1].Config_DireccionRetTermicoByte := 0;
"M"[1].Config_DireccionRetTermicoBit := 0;
"M"[1].Config_DireccionRetConfMarchaByte := 200;
"M"[1].Config_DireccionRetConfMarchaBit := 2;
"M"[1].Tiempos_SetPointTiempoAlarma := 10;
"M"[1].Tiempos_Alarma := 0;
"M"[1].Tiempos_SetPointMantenimiento := 2000.0;
"M"[1].Tiempos_Mantenimiento := 0.03000024;
{ S7_MLC := "MLC_YF" }
M[1] := ();
"M"[2].Hmi_Estado := 1;
"M"[2].Estado_AutoMan := FALSE;
"M"[2].Estado_Activado := FALSE;
"M"[2].Estado_Enclavado := FALSE;
"M"[2].Estado_SeguridadOk := TRUE;
"M"[2].Estado_EntradaTermico := FALSE;
"M"[2].Estado_EntradaConfMarcha := FALSE;
"M"[2].Estado_Salida := FALSE;
"M"[2].Alarmas_Termico := FALSE;
"M"[2].Alarmas_ConfirmacionMarcha := FALSE;
"M"[2].Alarmas_Mantenimiento := FALSE;
"M"[2].Alarmas_General := FALSE;
"M"[2].Orden_ActivarManual := FALSE;
"M"[2].Orden_ActivarAuto := FALSE;
"M"[2].Orden_ResetHoras := FALSE;
"M"[2].Config_Habilitar := TRUE;
"M"[2].Config_HabilitarRetornoTermico := FALSE;
"M"[2].Config_HabilitarInvertirTermico := FALSE;
"M"[2].Config_HabilitarRetornoConfMarcha := TRUE;
"M"[2].Config_HabilitarInvertirConfMarcha := FALSE;
"M"[2].Config_HabilitarMantenimiento := FALSE;
"M"[2].Aux_oldActivado := FALSE;
"M"[2].Aux_oldAlarma := FALSE;
"M"[2].Aux_oldAutoMan := FALSE;
"M"[2].Config_TipoAcceso := 0;
"M"[2].Config_GrupoAlarma := 0;
"M"[2].Config_DireccionSalidaByte := 200;
"M"[2].Config_DireccionSalidaBit := 2;
"M"[2].Config_DireccionRetTermicoByte := 0;
"M"[2].Config_DireccionRetTermicoBit := 0;
"M"[2].Config_DireccionRetConfMarchaByte := 200;
"M"[2].Config_DireccionRetConfMarchaBit := 3;
"M"[2].Tiempos_SetPointTiempoAlarma := 10;
"M"[2].Tiempos_Alarma := 0;
"M"[2].Tiempos_SetPointMantenimiento := 2000.0;
"M"[2].Tiempos_Mantenimiento := 0.0;
{ S7_MLC := "MLC_4ph" }
M[2] := ();
"M"[3].Hmi_Estado := 0;
"M"[3].Estado_AutoMan := FALSE;
"M"[3].Estado_Activado := FALSE;
"M"[3].Estado_Enclavado := FALSE;
"M"[3].Estado_SeguridadOk := TRUE;
"M"[3].Estado_EntradaTermico := FALSE;
"M"[3].Estado_EntradaConfMarcha := FALSE;
"M"[3].Estado_Salida := FALSE;
"M"[3].Alarmas_Termico := FALSE;
"M"[3].Alarmas_ConfirmacionMarcha := FALSE;
"M"[3].Alarmas_Mantenimiento := FALSE;
"M"[3].Alarmas_General := FALSE;
"M"[3].Orden_ActivarManual := FALSE;
"M"[3].Orden_ActivarAuto := FALSE;
"M"[3].Orden_ResetHoras := FALSE;
"M"[3].Config_Habilitar := FALSE;
"M"[3].Config_HabilitarRetornoTermico := FALSE;
"M"[3].Config_HabilitarInvertirTermico := FALSE;
"M"[3].Config_HabilitarRetornoConfMarcha := FALSE;
"M"[3].Config_HabilitarInvertirConfMarcha := FALSE;
"M"[3].Config_HabilitarMantenimiento := FALSE;
"M"[3].Aux_oldActivado := FALSE;
"M"[3].Aux_oldAlarma := FALSE;
"M"[3].Aux_oldAutoMan := FALSE;
"M"[3].Config_TipoAcceso := 0;
"M"[3].Config_GrupoAlarma := 0;
"M"[3].Config_DireccionSalidaByte := 0;
"M"[3].Config_DireccionSalidaBit := 0;
"M"[3].Config_DireccionRetTermicoByte := 0;
"M"[3].Config_DireccionRetTermicoBit := 0;
"M"[3].Config_DireccionRetConfMarchaByte := 0;
"M"[3].Config_DireccionRetConfMarchaBit := 0;
"M"[3].Tiempos_SetPointTiempoAlarma := 10;
"M"[3].Tiempos_Alarma := 0;
"M"[3].Tiempos_SetPointMantenimiento := 2000.0;
"M"[3].Tiempos_Mantenimiento := 0.0;
"M"[4].Hmi_Estado := 0;
"M"[4].Estado_AutoMan := FALSE;
"M"[4].Estado_Activado := FALSE;
"M"[4].Estado_Enclavado := FALSE;
"M"[4].Estado_SeguridadOk := TRUE;
"M"[4].Estado_EntradaTermico := FALSE;
"M"[4].Estado_EntradaConfMarcha := FALSE;
"M"[4].Estado_Salida := FALSE;
"M"[4].Alarmas_Termico := FALSE;
"M"[4].Alarmas_ConfirmacionMarcha := FALSE;
"M"[4].Alarmas_Mantenimiento := FALSE;
"M"[4].Alarmas_General := FALSE;
"M"[4].Orden_ActivarManual := FALSE;
"M"[4].Orden_ActivarAuto := FALSE;
"M"[4].Orden_ResetHoras := FALSE;
"M"[4].Config_Habilitar := FALSE;
"M"[4].Config_HabilitarRetornoTermico := TRUE;
"M"[4].Config_HabilitarInvertirTermico := FALSE;
"M"[4].Config_HabilitarRetornoConfMarcha := TRUE;
"M"[4].Config_HabilitarInvertirConfMarcha := FALSE;
"M"[4].Config_HabilitarMantenimiento := FALSE;
"M"[4].Aux_oldActivado := FALSE;
"M"[4].Aux_oldAlarma := FALSE;
"M"[4].Aux_oldAutoMan := FALSE;
"M"[4].Config_TipoAcceso := 0;
"M"[4].Config_GrupoAlarma := 0;
"M"[4].Config_DireccionSalidaByte := 0;
"M"[4].Config_DireccionSalidaBit := 0;
"M"[4].Config_DireccionRetTermicoByte := 0;
"M"[4].Config_DireccionRetTermicoBit := 0;
"M"[4].Config_DireccionRetConfMarchaByte := 0;
"M"[4].Config_DireccionRetConfMarchaBit := 0;
"M"[4].Tiempos_SetPointTiempoAlarma := 10;
"M"[4].Tiempos_Alarma := 0;
"M"[4].Tiempos_SetPointMantenimiento := 2000.0;
"M"[4].Tiempos_Mantenimiento := 0.0;
"M"[5].Hmi_Estado := 0;
"M"[5].Estado_AutoMan := FALSE;
"M"[5].Estado_Activado := FALSE;
"M"[5].Estado_Enclavado := FALSE;
"M"[5].Estado_SeguridadOk := TRUE;
"M"[5].Estado_EntradaTermico := FALSE;
"M"[5].Estado_EntradaConfMarcha := FALSE;
"M"[5].Estado_Salida := FALSE;
"M"[5].Alarmas_Termico := FALSE;
"M"[5].Alarmas_ConfirmacionMarcha := FALSE;
"M"[5].Alarmas_Mantenimiento := FALSE;
"M"[5].Alarmas_General := FALSE;
"M"[5].Orden_ActivarManual := FALSE;
"M"[5].Orden_ActivarAuto := FALSE;
"M"[5].Orden_ResetHoras := FALSE;
"M"[5].Config_Habilitar := FALSE;
"M"[5].Config_HabilitarRetornoTermico := TRUE;
"M"[5].Config_HabilitarInvertirTermico := FALSE;
"M"[5].Config_HabilitarRetornoConfMarcha := TRUE;
"M"[5].Config_HabilitarInvertirConfMarcha := FALSE;
"M"[5].Config_HabilitarMantenimiento := FALSE;
"M"[5].Aux_oldActivado := FALSE;
"M"[5].Aux_oldAlarma := FALSE;
"M"[5].Aux_oldAutoMan := FALSE;
"M"[5].Config_TipoAcceso := 0;
"M"[5].Config_GrupoAlarma := 0;
"M"[5].Config_DireccionSalidaByte := 0;
"M"[5].Config_DireccionSalidaBit := 0;
"M"[5].Config_DireccionRetTermicoByte := 0;
"M"[5].Config_DireccionRetTermicoBit := 0;
"M"[5].Config_DireccionRetConfMarchaByte := 0;
"M"[5].Config_DireccionRetConfMarchaBit := 0;
"M"[5].Tiempos_SetPointTiempoAlarma := 10;
"M"[5].Tiempos_Alarma := 0;
"M"[5].Tiempos_SetPointMantenimiento := 2000.0;
"M"[5].Tiempos_Mantenimiento := 0.0;
Agrup[0].AlgunaEnManual := TRUE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 12;
END_DATA_BLOCK END_DATA_BLOCK
@@ -7,3 +7,7 @@
es-ES: . es-ES: .
- id: MLC_4mp - id: MLC_4mp
es-ES: NO SE USA es-ES: NO SE USA
- id: MLC_YF
es-ES: P-201
- id: MLC_4ph
es-ES: BD-201
@@ -23,12 +23,15 @@ DATA_BLOCK DB2016_M_VF
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
M_VF[0].Hmi_Estado := 0;
M_VF[0].Estado_ValorActual := 0.0;
M_VF[0].Estado_AutoMan := FALSE; M_VF[0].Estado_AutoMan := FALSE;
M_VF[0].Estado_Activado := FALSE; M_VF[0].Estado_Activado := FALSE;
M_VF[0].Estado_Enclavado := FALSE; M_VF[0].Estado_Enclavado := FALSE;
M_VF[0].Estado_SeguridadOk := TRUE; M_VF[0].Estado_SeguridadOk := TRUE;
M_VF[0].Estado_EntradaTermico := FALSE; M_VF[0].Estado_EntradaTermico := FALSE;
M_VF[0].Estado_EntradaConfMarcha := FALSE; M_VF[0].Estado_EntradaConfMarcha := FALSE;
M_VF[0].Estado_Salida := FALSE;
M_VF[0].Alarmas_Termico := FALSE; M_VF[0].Alarmas_Termico := FALSE;
M_VF[0].Alarmas_ConfirmacionMarcha := FALSE; M_VF[0].Alarmas_ConfirmacionMarcha := FALSE;
M_VF[0].Alarmas_Mantenimiento := FALSE; M_VF[0].Alarmas_Mantenimiento := FALSE;
@@ -48,7 +51,9 @@ DATA_BLOCK DB2016_M_VF
M_VF[0].Aux_oldActivado := FALSE; M_VF[0].Aux_oldActivado := FALSE;
M_VF[0].Aux_oldAlarma := FALSE; M_VF[0].Aux_oldAlarma := FALSE;
M_VF[0].Aux_oldAutoMan := FALSE; M_VF[0].Aux_oldAutoMan := FALSE;
M_VF[0].Config_TipoAcceso := 0;
M_VF[0].Estado_Escritura := 16#0000; M_VF[0].Estado_Escritura := 16#0000;
M_VF[0].Estado_ValorTarjeta := 0;
M_VF[0].Config_GrupoAlarma := 0; M_VF[0].Config_GrupoAlarma := 0;
M_VF[0].Orden_ConsignaManual := 0.0; M_VF[0].Orden_ConsignaManual := 0.0;
M_VF[0].Orden_ConsignaAuto := 0.0; M_VF[0].Orden_ConsignaAuto := 0.0;
@@ -67,8 +72,246 @@ DATA_BLOCK DB2016_M_VF
M_VF[0].Tiempos_Mantenimiento := 0.0; M_VF[0].Tiempos_Mantenimiento := 0.0;
{ S7_MLC := "MLC_4u6" } { S7_MLC := "MLC_4u6" }
M_VF[0] := (); M_VF[0] := ();
Agrup[0].AlgunaEnManual := FALSE; M_VF[1].Hmi_Estado := 3;
M_VF[1].Estado_ValorActual := 0.0;
M_VF[1].Estado_AutoMan := TRUE;
M_VF[1].Estado_Activado := FALSE;
M_VF[1].Estado_Enclavado := FALSE;
M_VF[1].Estado_SeguridadOk := TRUE;
M_VF[1].Estado_EntradaTermico := FALSE;
M_VF[1].Estado_EntradaConfMarcha := FALSE;
M_VF[1].Estado_Salida := FALSE;
M_VF[1].Alarmas_Termico := FALSE;
M_VF[1].Alarmas_ConfirmacionMarcha := FALSE;
M_VF[1].Alarmas_Mantenimiento := FALSE;
M_VF[1].Alarmas_Escritura := FALSE;
M_VF[1].Alarmas_Parametros := FALSE;
M_VF[1].Alarmas_General := FALSE;
M_VF[1].Orden_ActivarManual := FALSE;
M_VF[1].Orden_ActivarAuto := FALSE;
M_VF[1].Orden_ResetHoras := FALSE;
M_VF[1].Config_Habilitar := TRUE;
M_VF[1].Config_HabilitarRetornoTermico := TRUE;
M_VF[1].Config_HabilitarInvertirTermico := TRUE;
M_VF[1].Config_HabilitarRetornoConfMarcha := TRUE;
M_VF[1].Config_HabilitarInvertirConfMarcha := FALSE;
M_VF[1].Config_HabilitarMantenimiento := FALSE;
M_VF[1].Config_HabilitarAlarmaEscrituraSalida := FALSE;
M_VF[1].Aux_oldActivado := FALSE;
M_VF[1].Aux_oldAlarma := FALSE;
M_VF[1].Aux_oldAutoMan := TRUE;
M_VF[1].Config_TipoAcceso := 0;
M_VF[1].Estado_Escritura := 16#0000;
M_VF[1].Estado_ValorTarjeta := 0;
M_VF[1].Config_GrupoAlarma := 0;
M_VF[1].Orden_ConsignaManual := 75.0;
M_VF[1].Orden_ConsignaAuto := 0.0;
M_VF[1].Config_DireccionSalidaByte := 200;
M_VF[1].Config_DireccionSalidaBit := 0;
M_VF[1].Config_DireccionRetTermicoByte := 200;
M_VF[1].Config_DireccionRetTermicoBit := 1;
M_VF[1].Config_DireccionRetConfMarchaByte := 200;
M_VF[1].Config_DireccionRetConfMarchaBit := 0;
M_VF[1].Config_DireccionSalidaAnalogicaByte := 2000;
M_VF[1].Config_EscaladoMinIngenieria := 0.0;
M_VF[1].Config_EscaladoMaxIngenieria := 100.0;
M_VF[1].Tiempos_SetPointAlarma := 10;
M_VF[1].Tiempos_Alarma := 0;
M_VF[1].Tiempos_SetPointMantenimiento := 2000.0;
M_VF[1].Tiempos_Mantenimiento := 0.4722353;
{ S7_MLC := "MLC_vi" }
M_VF[1] := ();
M_VF[2].Hmi_Estado := 0;
M_VF[2].Estado_ValorActual := 0.0;
M_VF[2].Estado_AutoMan := FALSE;
M_VF[2].Estado_Activado := FALSE;
M_VF[2].Estado_Enclavado := FALSE;
M_VF[2].Estado_SeguridadOk := TRUE;
M_VF[2].Estado_EntradaTermico := FALSE;
M_VF[2].Estado_EntradaConfMarcha := FALSE;
M_VF[2].Estado_Salida := FALSE;
M_VF[2].Alarmas_Termico := FALSE;
M_VF[2].Alarmas_ConfirmacionMarcha := FALSE;
M_VF[2].Alarmas_Mantenimiento := FALSE;
M_VF[2].Alarmas_Escritura := FALSE;
M_VF[2].Alarmas_Parametros := FALSE;
M_VF[2].Alarmas_General := FALSE;
M_VF[2].Orden_ActivarManual := FALSE;
M_VF[2].Orden_ActivarAuto := FALSE;
M_VF[2].Orden_ResetHoras := FALSE;
M_VF[2].Config_Habilitar := FALSE;
M_VF[2].Config_HabilitarRetornoTermico := FALSE;
M_VF[2].Config_HabilitarInvertirTermico := FALSE;
M_VF[2].Config_HabilitarRetornoConfMarcha := FALSE;
M_VF[2].Config_HabilitarInvertirConfMarcha := FALSE;
M_VF[2].Config_HabilitarMantenimiento := FALSE;
M_VF[2].Config_HabilitarAlarmaEscrituraSalida := FALSE;
M_VF[2].Aux_oldActivado := FALSE;
M_VF[2].Aux_oldAlarma := FALSE;
M_VF[2].Aux_oldAutoMan := FALSE;
M_VF[2].Config_TipoAcceso := 0;
M_VF[2].Estado_Escritura := 16#0000;
M_VF[2].Estado_ValorTarjeta := 0;
M_VF[2].Config_GrupoAlarma := 0;
M_VF[2].Orden_ConsignaManual := 0.0;
M_VF[2].Orden_ConsignaAuto := 0.0;
M_VF[2].Config_DireccionSalidaByte := 0;
M_VF[2].Config_DireccionSalidaBit := 0;
M_VF[2].Config_DireccionRetTermicoByte := 0;
M_VF[2].Config_DireccionRetTermicoBit := 0;
M_VF[2].Config_DireccionRetConfMarchaByte := 0;
M_VF[2].Config_DireccionRetConfMarchaBit := 0;
M_VF[2].Config_DireccionSalidaAnalogicaByte := 0;
M_VF[2].Config_EscaladoMinIngenieria := 0.0;
M_VF[2].Config_EscaladoMaxIngenieria := 100.0;
M_VF[2].Tiempos_SetPointAlarma := 10;
M_VF[2].Tiempos_Alarma := 0;
M_VF[2].Tiempos_SetPointMantenimiento := 2000.0;
M_VF[2].Tiempos_Mantenimiento := 0.0;
M_VF[3].Hmi_Estado := 0;
M_VF[3].Estado_ValorActual := 0.0;
M_VF[3].Estado_AutoMan := FALSE;
M_VF[3].Estado_Activado := FALSE;
M_VF[3].Estado_Enclavado := FALSE;
M_VF[3].Estado_SeguridadOk := TRUE;
M_VF[3].Estado_EntradaTermico := FALSE;
M_VF[3].Estado_EntradaConfMarcha := FALSE;
M_VF[3].Estado_Salida := FALSE;
M_VF[3].Alarmas_Termico := FALSE;
M_VF[3].Alarmas_ConfirmacionMarcha := FALSE;
M_VF[3].Alarmas_Mantenimiento := FALSE;
M_VF[3].Alarmas_Escritura := FALSE;
M_VF[3].Alarmas_Parametros := FALSE;
M_VF[3].Alarmas_General := FALSE;
M_VF[3].Orden_ActivarManual := FALSE;
M_VF[3].Orden_ActivarAuto := FALSE;
M_VF[3].Orden_ResetHoras := FALSE;
M_VF[3].Config_Habilitar := FALSE;
M_VF[3].Config_HabilitarRetornoTermico := FALSE;
M_VF[3].Config_HabilitarInvertirTermico := FALSE;
M_VF[3].Config_HabilitarRetornoConfMarcha := FALSE;
M_VF[3].Config_HabilitarInvertirConfMarcha := FALSE;
M_VF[3].Config_HabilitarMantenimiento := FALSE;
M_VF[3].Config_HabilitarAlarmaEscrituraSalida := FALSE;
M_VF[3].Aux_oldActivado := FALSE;
M_VF[3].Aux_oldAlarma := FALSE;
M_VF[3].Aux_oldAutoMan := FALSE;
M_VF[3].Config_TipoAcceso := 0;
M_VF[3].Estado_Escritura := 16#0000;
M_VF[3].Estado_ValorTarjeta := 0;
M_VF[3].Config_GrupoAlarma := 0;
M_VF[3].Orden_ConsignaManual := 0.0;
M_VF[3].Orden_ConsignaAuto := 0.0;
M_VF[3].Config_DireccionSalidaByte := 0;
M_VF[3].Config_DireccionSalidaBit := 0;
M_VF[3].Config_DireccionRetTermicoByte := 0;
M_VF[3].Config_DireccionRetTermicoBit := 0;
M_VF[3].Config_DireccionRetConfMarchaByte := 0;
M_VF[3].Config_DireccionRetConfMarchaBit := 0;
M_VF[3].Config_DireccionSalidaAnalogicaByte := 0;
M_VF[3].Config_EscaladoMinIngenieria := 0.0;
M_VF[3].Config_EscaladoMaxIngenieria := 100.0;
M_VF[3].Tiempos_SetPointAlarma := 10;
M_VF[3].Tiempos_Alarma := 0;
M_VF[3].Tiempos_SetPointMantenimiento := 2000.0;
M_VF[3].Tiempos_Mantenimiento := 0.0;
M_VF[4].Hmi_Estado := 0;
M_VF[4].Estado_ValorActual := 0.0;
M_VF[4].Estado_AutoMan := FALSE;
M_VF[4].Estado_Activado := FALSE;
M_VF[4].Estado_Enclavado := FALSE;
M_VF[4].Estado_SeguridadOk := TRUE;
M_VF[4].Estado_EntradaTermico := FALSE;
M_VF[4].Estado_EntradaConfMarcha := FALSE;
M_VF[4].Estado_Salida := FALSE;
M_VF[4].Alarmas_Termico := FALSE;
M_VF[4].Alarmas_ConfirmacionMarcha := FALSE;
M_VF[4].Alarmas_Mantenimiento := FALSE;
M_VF[4].Alarmas_Escritura := FALSE;
M_VF[4].Alarmas_Parametros := FALSE;
M_VF[4].Alarmas_General := FALSE;
M_VF[4].Orden_ActivarManual := FALSE;
M_VF[4].Orden_ActivarAuto := FALSE;
M_VF[4].Orden_ResetHoras := FALSE;
M_VF[4].Config_Habilitar := FALSE;
M_VF[4].Config_HabilitarRetornoTermico := TRUE;
M_VF[4].Config_HabilitarInvertirTermico := FALSE;
M_VF[4].Config_HabilitarRetornoConfMarcha := TRUE;
M_VF[4].Config_HabilitarInvertirConfMarcha := FALSE;
M_VF[4].Config_HabilitarMantenimiento := FALSE;
M_VF[4].Config_HabilitarAlarmaEscrituraSalida := FALSE;
M_VF[4].Aux_oldActivado := FALSE;
M_VF[4].Aux_oldAlarma := FALSE;
M_VF[4].Aux_oldAutoMan := FALSE;
M_VF[4].Config_TipoAcceso := 0;
M_VF[4].Estado_Escritura := 16#0000;
M_VF[4].Estado_ValorTarjeta := 0;
M_VF[4].Config_GrupoAlarma := 0;
M_VF[4].Orden_ConsignaManual := 0.0;
M_VF[4].Orden_ConsignaAuto := 0.0;
M_VF[4].Config_DireccionSalidaByte := 0;
M_VF[4].Config_DireccionSalidaBit := 0;
M_VF[4].Config_DireccionRetTermicoByte := 0;
M_VF[4].Config_DireccionRetTermicoBit := 0;
M_VF[4].Config_DireccionRetConfMarchaByte := 0;
M_VF[4].Config_DireccionRetConfMarchaBit := 0;
M_VF[4].Config_DireccionSalidaAnalogicaByte := 0;
M_VF[4].Config_EscaladoMinIngenieria := 0.0;
M_VF[4].Config_EscaladoMaxIngenieria := 100.0;
M_VF[4].Tiempos_SetPointAlarma := 10;
M_VF[4].Tiempos_Alarma := 0;
M_VF[4].Tiempos_SetPointMantenimiento := 2000.0;
M_VF[4].Tiempos_Mantenimiento := 0.0;
M_VF[5].Hmi_Estado := 0;
M_VF[5].Estado_ValorActual := 0.0;
M_VF[5].Estado_AutoMan := FALSE;
M_VF[5].Estado_Activado := FALSE;
M_VF[5].Estado_Enclavado := FALSE;
M_VF[5].Estado_SeguridadOk := TRUE;
M_VF[5].Estado_EntradaTermico := FALSE;
M_VF[5].Estado_EntradaConfMarcha := FALSE;
M_VF[5].Estado_Salida := FALSE;
M_VF[5].Alarmas_Termico := FALSE;
M_VF[5].Alarmas_ConfirmacionMarcha := FALSE;
M_VF[5].Alarmas_Mantenimiento := FALSE;
M_VF[5].Alarmas_Escritura := FALSE;
M_VF[5].Alarmas_Parametros := FALSE;
M_VF[5].Alarmas_General := FALSE;
M_VF[5].Orden_ActivarManual := FALSE;
M_VF[5].Orden_ActivarAuto := FALSE;
M_VF[5].Orden_ResetHoras := FALSE;
M_VF[5].Config_Habilitar := FALSE;
M_VF[5].Config_HabilitarRetornoTermico := TRUE;
M_VF[5].Config_HabilitarInvertirTermico := FALSE;
M_VF[5].Config_HabilitarRetornoConfMarcha := TRUE;
M_VF[5].Config_HabilitarInvertirConfMarcha := FALSE;
M_VF[5].Config_HabilitarMantenimiento := FALSE;
M_VF[5].Config_HabilitarAlarmaEscrituraSalida := FALSE;
M_VF[5].Aux_oldActivado := FALSE;
M_VF[5].Aux_oldAlarma := FALSE;
M_VF[5].Aux_oldAutoMan := FALSE;
M_VF[5].Config_TipoAcceso := 0;
M_VF[5].Estado_Escritura := 16#0000;
M_VF[5].Estado_ValorTarjeta := 0;
M_VF[5].Config_GrupoAlarma := 0;
M_VF[5].Orden_ConsignaManual := 0.0;
M_VF[5].Orden_ConsignaAuto := 0.0;
M_VF[5].Config_DireccionSalidaByte := 0;
M_VF[5].Config_DireccionSalidaBit := 0;
M_VF[5].Config_DireccionRetTermicoByte := 0;
M_VF[5].Config_DireccionRetTermicoBit := 0;
M_VF[5].Config_DireccionRetConfMarchaByte := 0;
M_VF[5].Config_DireccionRetConfMarchaBit := 0;
M_VF[5].Config_DireccionSalidaAnalogicaByte := 0;
M_VF[5].Config_EscaladoMinIngenieria := 0.0;
M_VF[5].Config_EscaladoMaxIngenieria := 100.0;
M_VF[5].Tiempos_SetPointAlarma := 10;
M_VF[5].Tiempos_Alarma := 0;
M_VF[5].Tiempos_SetPointMantenimiento := 2000.0;
M_VF[5].Tiempos_Mantenimiento := 0.0;
Agrup[0].AlgunaEnManual := TRUE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 10;
END_DATA_BLOCK END_DATA_BLOCK
@@ -7,3 +7,5 @@
es-ES: . es-ES: .
- id: MLC_4u6 - id: MLC_4u6
es-ES: NO SE USA es-ES: NO SE USA
- id: MLC_vi
es-ES: B-201
@@ -23,6 +23,8 @@ DATA_BLOCK DB2017_M_SINA
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
M_SINA[0].Hmi_Estado := 0;
M_SINA[0].Estado_ValorActual := 0.0;
M_SINA[0].Estado_AutoMan := FALSE; M_SINA[0].Estado_AutoMan := FALSE;
M_SINA[0].Estado_Activado := FALSE; M_SINA[0].Estado_Activado := FALSE;
M_SINA[0].Estado_Enclavado := FALSE; M_SINA[0].Estado_Enclavado := FALSE;
@@ -64,8 +66,9 @@ DATA_BLOCK DB2017_M_SINA
M_SINA[0].Tiempos_Mantenimiento := 0.0; M_SINA[0].Tiempos_Mantenimiento := 0.0;
{ S7_MLC := "MLC_4j9" } { S7_MLC := "MLC_4j9" }
M_SINA[0] := (); M_SINA[0] := ();
Agrup[0].AlgunaEnManual := TRUE; Agrup[0].AlgunaEnManual := FALSE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -27,16 +27,20 @@ DATA_BLOCK DB2025_TOT
TOT[0].Estado_Pulso := FALSE; TOT[0].Estado_Pulso := FALSE;
TOT[0].Estado_Valor := 0.0; TOT[0].Estado_Valor := 0.0;
TOT[0].Orden_Activar := FALSE; TOT[0].Orden_Activar := FALSE;
TOT[0].Orden_Usuario := FALSE;
TOT[0].Orden_ResetParcial := FALSE; TOT[0].Orden_ResetParcial := FALSE;
TOT[0].Orden_ResetTotal := FALSE; TOT[0].Orden_ResetTotal := FALSE;
TOT[0].Orden_ResetProceso := FALSE; TOT[0].Orden_ResetProceso := FALSE;
TOT[0].Orden_ResetUsuario := FALSE;
TOT[0].Config_Habilitar := FALSE; TOT[0].Config_Habilitar := FALSE;
TOT[0].Config_Tipo := FALSE; TOT[0].Config_Tipo := FALSE;
TOT[0].Config_IncrDecr := FALSE; TOT[0].Config_IncrDecr := FALSE;
TOT[0].Aux_oldActivado := FALSE; TOT[0].Aux_oldActivado := FALSE;
TOT[0].Aux_oldAlarma := FALSE; TOT[0].Aux_oldAlarma := FALSE;
TOT[0].Config_TipoAcceso := 0;
TOT[0].Estado_DesbordeTotal := 0; TOT[0].Estado_DesbordeTotal := 0;
TOT[0].Estado_DesbordeParcial := 0; TOT[0].Estado_DesbordeParcial := 0;
TOT[0].Estado_DesbordeUsuario := 0;
TOT[0].Config_DireccionEntradaByte := 0; TOT[0].Config_DireccionEntradaByte := 0;
TOT[0].Config_DireccionEntradaBit := 0; TOT[0].Config_DireccionEntradaBit := 0;
TOT[0].Config_LitroXPulso := 0.0; TOT[0].Config_LitroXPulso := 0.0;
@@ -44,13 +48,150 @@ DATA_BLOCK DB2025_TOT
TOT[0].Estado_Total := 0.0; TOT[0].Estado_Total := 0.0;
TOT[0].Estado_Parcial := 0.0; TOT[0].Estado_Parcial := 0.0;
TOT[0].Estado_Proceso := 0.0; TOT[0].Estado_Proceso := 0.0;
TOT[0].Estado_Usuario := 0.0;
TOT[0].Aux_TotalizadorMem := 0.0; TOT[0].Aux_TotalizadorMem := 0.0;
{ S7_MLC := "MLC_54a" } { S7_MLC := "MLC_54a" }
TOT[0] := (); TOT[0] := ();
TiempoCiclo.Actual := 28.50767; TOT[1].Hmi_Estado := 0;
TOT[1].Estado_Pulso := FALSE;
TOT[1].Estado_Valor := 0.0;
TOT[1].Orden_Activar := TRUE;
TOT[1].Orden_Usuario := FALSE;
TOT[1].Orden_ResetParcial := FALSE;
TOT[1].Orden_ResetTotal := FALSE;
TOT[1].Orden_ResetProceso := FALSE;
TOT[1].Orden_ResetUsuario := FALSE;
TOT[1].Config_Habilitar := TRUE;
TOT[1].Config_Tipo := FALSE;
TOT[1].Config_IncrDecr := FALSE;
TOT[1].Aux_oldActivado := FALSE;
TOT[1].Aux_oldAlarma := FALSE;
TOT[1].Config_TipoAcceso := 0;
TOT[1].Estado_DesbordeTotal := 0;
TOT[1].Estado_DesbordeParcial := 0;
TOT[1].Estado_DesbordeUsuario := 0;
TOT[1].Config_DireccionEntradaByte := 201;
TOT[1].Config_DireccionEntradaBit := 5;
TOT[1].Config_LitroXPulso := 1.0;
TOT[1].Aux_AcuTiempo := 9.0;
TOT[1].Estado_Total := 2125.0;
TOT[1].Estado_Parcial := 2125.0;
TOT[1].Estado_Proceso := 2125.0;
TOT[1].Estado_Usuario := 0.0;
TOT[1].Aux_TotalizadorMem := 2125.0;
TOT[2].Hmi_Estado := 0;
TOT[2].Estado_Pulso := FALSE;
TOT[2].Estado_Valor := 0.0;
TOT[2].Orden_Activar := FALSE;
TOT[2].Orden_Usuario := FALSE;
TOT[2].Orden_ResetParcial := FALSE;
TOT[2].Orden_ResetTotal := FALSE;
TOT[2].Orden_ResetProceso := FALSE;
TOT[2].Orden_ResetUsuario := FALSE;
TOT[2].Config_Habilitar := FALSE;
TOT[2].Config_Tipo := FALSE;
TOT[2].Config_IncrDecr := FALSE;
TOT[2].Aux_oldActivado := FALSE;
TOT[2].Aux_oldAlarma := FALSE;
TOT[2].Config_TipoAcceso := 0;
TOT[2].Estado_DesbordeTotal := 0;
TOT[2].Estado_DesbordeParcial := 0;
TOT[2].Estado_DesbordeUsuario := 0;
TOT[2].Config_DireccionEntradaByte := 0;
TOT[2].Config_DireccionEntradaBit := 0;
TOT[2].Config_LitroXPulso := 0.0;
TOT[2].Aux_AcuTiempo := 0.0;
TOT[2].Estado_Total := 0.0;
TOT[2].Estado_Parcial := 0.0;
TOT[2].Estado_Proceso := 0.0;
TOT[2].Estado_Usuario := 0.0;
TOT[2].Aux_TotalizadorMem := 0.0;
TOT[3].Hmi_Estado := 0;
TOT[3].Estado_Pulso := FALSE;
TOT[3].Estado_Valor := 0.0;
TOT[3].Orden_Activar := FALSE;
TOT[3].Orden_Usuario := FALSE;
TOT[3].Orden_ResetParcial := FALSE;
TOT[3].Orden_ResetTotal := FALSE;
TOT[3].Orden_ResetProceso := FALSE;
TOT[3].Orden_ResetUsuario := FALSE;
TOT[3].Config_Habilitar := FALSE;
TOT[3].Config_Tipo := FALSE;
TOT[3].Config_IncrDecr := FALSE;
TOT[3].Aux_oldActivado := FALSE;
TOT[3].Aux_oldAlarma := FALSE;
TOT[3].Config_TipoAcceso := 0;
TOT[3].Estado_DesbordeTotal := 0;
TOT[3].Estado_DesbordeParcial := 0;
TOT[3].Estado_DesbordeUsuario := 0;
TOT[3].Config_DireccionEntradaByte := 0;
TOT[3].Config_DireccionEntradaBit := 0;
TOT[3].Config_LitroXPulso := 0.0;
TOT[3].Aux_AcuTiempo := 0.0;
TOT[3].Estado_Total := 0.0;
TOT[3].Estado_Parcial := 0.0;
TOT[3].Estado_Proceso := 0.0;
TOT[3].Estado_Usuario := 0.0;
TOT[3].Aux_TotalizadorMem := 0.0;
TOT[4].Hmi_Estado := 0;
TOT[4].Estado_Pulso := FALSE;
TOT[4].Estado_Valor := 0.0;
TOT[4].Orden_Activar := FALSE;
TOT[4].Orden_Usuario := FALSE;
TOT[4].Orden_ResetParcial := FALSE;
TOT[4].Orden_ResetTotal := FALSE;
TOT[4].Orden_ResetProceso := FALSE;
TOT[4].Orden_ResetUsuario := FALSE;
TOT[4].Config_Habilitar := FALSE;
TOT[4].Config_Tipo := FALSE;
TOT[4].Config_IncrDecr := FALSE;
TOT[4].Aux_oldActivado := FALSE;
TOT[4].Aux_oldAlarma := FALSE;
TOT[4].Config_TipoAcceso := 0;
TOT[4].Estado_DesbordeTotal := 0;
TOT[4].Estado_DesbordeParcial := 0;
TOT[4].Estado_DesbordeUsuario := 0;
TOT[4].Config_DireccionEntradaByte := 0;
TOT[4].Config_DireccionEntradaBit := 0;
TOT[4].Config_LitroXPulso := 0.0;
TOT[4].Aux_AcuTiempo := 0.0;
TOT[4].Estado_Total := 0.0;
TOT[4].Estado_Parcial := 0.0;
TOT[4].Estado_Proceso := 0.0;
TOT[4].Estado_Usuario := 0.0;
TOT[4].Aux_TotalizadorMem := 0.0;
TOT[5].Hmi_Estado := 0;
TOT[5].Estado_Pulso := FALSE;
TOT[5].Estado_Valor := 0.0;
TOT[5].Orden_Activar := FALSE;
TOT[5].Orden_Usuario := FALSE;
TOT[5].Orden_ResetParcial := FALSE;
TOT[5].Orden_ResetTotal := FALSE;
TOT[5].Orden_ResetProceso := FALSE;
TOT[5].Orden_ResetUsuario := FALSE;
TOT[5].Config_Habilitar := FALSE;
TOT[5].Config_Tipo := FALSE;
TOT[5].Config_IncrDecr := FALSE;
TOT[5].Aux_oldActivado := FALSE;
TOT[5].Aux_oldAlarma := FALSE;
TOT[5].Config_TipoAcceso := 0;
TOT[5].Estado_DesbordeTotal := 0;
TOT[5].Estado_DesbordeParcial := 0;
TOT[5].Estado_DesbordeUsuario := 0;
TOT[5].Config_DireccionEntradaByte := 0;
TOT[5].Config_DireccionEntradaBit := 0;
TOT[5].Config_LitroXPulso := 0.0;
TOT[5].Aux_AcuTiempo := 0.0;
TOT[5].Estado_Total := 0.0;
TOT[5].Estado_Parcial := 0.0;
TOT[5].Estado_Proceso := 0.0;
TOT[5].Estado_Usuario := 0.0;
TOT[5].Aux_TotalizadorMem := 0.0;
TiempoCiclo.Actual := 2.049256;
TiempoCiclo."Min" := 150.0; TiempoCiclo."Min" := 150.0;
TiempoCiclo."Max" := 0.0; TiempoCiclo."Max" := 0.0;
TiempoCiclo.auxMem := 3.12728198846045E-308; TiempoCiclo.auxMem := 16#0000_1CBA_AF5D_83D8;
TiempoCiclo.Reset := FALSE; TiempoCiclo.Reset := FALSE;
NumDispositivos := 10;
END_DATA_BLOCK END_DATA_BLOCK
@@ -13,4 +13,18 @@ DATA_BLOCK DB2026_FF
{ S7_Setpoint := "False" } { S7_Setpoint := "False" }
FF : Array[0.._.N_MAX_DISP_FF] of _.UDT_ZC_DISP_FF; FF : Array[0.._.N_MAX_DISP_FF] of _.UDT_ZC_DISP_FF;
END_VAR END_VAR
FF[0].Estado_Flip := FALSE;
FF[0].Estado_Flop := FALSE;
FF[0].Estado_Paro1 := FALSE;
FF[0].Estado_Paro2 := FALSE;
FF[0].Orden_Activar := FALSE;
FF[0].Orden_Pausa := FALSE;
FF[0].Aux_Inicializado := FALSE;
FF[0].Estado_Etapa := 0;
FF[0].Config_SetPointTiempoFlip := 0;
FF[0].Config_SetPointTiempoFlop := 0;
FF[0].Config_SetPointTiempoParo := 0;
FF[0].Aux_Tiempo := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -13,4 +13,35 @@ DATA_BLOCK DB2027_FF_SEC
{ S7_Setpoint := "False" } { S7_Setpoint := "False" }
FF_SEC : Array[0.._.N_MAX_DISP_FF_SEC] of _.UDT_ZC_DISP_FF_SEC; FF_SEC : Array[0.._.N_MAX_DISP_FF_SEC] of _.UDT_ZC_DISP_FF_SEC;
END_VAR END_VAR
FF_SEC[0].Estado_SalidaFlip[1] := FALSE;
FF_SEC[0].Estado_SalidaFlip[2] := FALSE;
FF_SEC[0].Estado_SalidaFlip[3] := FALSE;
FF_SEC[0].Estado_SalidaFlip[4] := FALSE;
FF_SEC[0].Estado_SalidaFlip[5] := FALSE;
FF_SEC[0].Estado_SalidaFlip[6] := FALSE;
FF_SEC[0].Estado_SalidaFlip[7] := FALSE;
FF_SEC[0].Estado_SalidaFlip[8] := FALSE;
FF_SEC[0].Estado_SalidaFlip[9] := FALSE;
FF_SEC[0].Estado_SalidaFlip[10] := FALSE;
FF_SEC[0].Estado_SalidaFlop := FALSE;
FF_SEC[0].Orden_Reset := FALSE;
FF_SEC[0].Orden_Activar := FALSE;
FF_SEC[0].Orden_Pausa := FALSE;
FF_SEC[0].Aux_Inicializacion := FALSE;
FF_SEC[0].Config_SetPointTiempoFlip[1] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[2] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[3] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[4] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[5] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[6] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[7] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[8] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[9] := 0;
FF_SEC[0].Config_SetPointTiempoFlip[10] := 0;
FF_SEC[0].Config_SetPointTiempoFlop := 20;
FF_SEC[0].Estado_Etapa := 0;
FF_SEC[0].Aux_Tiempo := 0;
FF_SEC[0].Aux_FlipActual := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -31,4 +31,126 @@ DATA_BLOCK DB2028_TEMP
} }
TP : Array[0.._.N_MAX_DISP_TP] of _.UDT_ZC_DISP_TP; TP : Array[0.._.N_MAX_DISP_TP] of _.UDT_ZC_DISP_TP;
END_VAR END_VAR
TON[0].SP := 5;
TON[0].ET := 0;
TON[0].IN := FALSE;
TON[0].Q := FALSE;
TON[1].SP := 5;
TON[1].ET := 0;
TON[1].IN := FALSE;
TON[1].Q := FALSE;
TON[2].SP := 5;
TON[2].ET := 0;
TON[2].IN := FALSE;
TON[2].Q := FALSE;
TON[3].SP := 5;
TON[3].ET := 0;
TON[3].IN := FALSE;
TON[3].Q := FALSE;
TON[4].SP := 5;
TON[4].ET := 0;
TON[4].IN := FALSE;
TON[4].Q := FALSE;
TON[5].SP := 5;
TON[5].ET := 0;
TON[5].IN := FALSE;
TON[5].Q := FALSE;
TOF[0].SP := 5;
TOF[0].ET := 0;
TOF[0].IN := FALSE;
TOF[0].Q := FALSE;
TOF[0].OldActivar := FALSE;
TOF[1].SP := 5;
TOF[1].ET := 5;
TOF[1].IN := FALSE;
TOF[1].Q := FALSE;
TOF[1].OldActivar := FALSE;
TOF[2].SP := 5;
TOF[2].ET := 5;
TOF[2].IN := FALSE;
TOF[2].Q := FALSE;
TOF[2].OldActivar := FALSE;
TOF[3].SP := 5;
TOF[3].ET := 5;
TOF[3].IN := FALSE;
TOF[3].Q := FALSE;
TOF[3].OldActivar := FALSE;
TOF[4].SP := 5;
TOF[4].ET := 5;
TOF[4].IN := FALSE;
TOF[4].Q := FALSE;
TOF[4].OldActivar := FALSE;
TOF[5].SP := 5;
TOF[5].ET := 5;
TOF[5].IN := FALSE;
TOF[5].Q := FALSE;
TOF[5].OldActivar := FALSE;
TONR[0].SP := 5;
TONR[0].ET := 0;
TONR[0].RT := 0;
TONR[0].IN := FALSE;
TONR[0].Q := FALSE;
TONR[0].RESET := FALSE;
TONR[1].SP := 5;
TONR[1].ET := 0;
TONR[1].RT := 5;
TONR[1].IN := FALSE;
TONR[1].Q := FALSE;
TONR[1].RESET := FALSE;
TONR[2].SP := 5;
TONR[2].ET := 0;
TONR[2].RT := 5;
TONR[2].IN := FALSE;
TONR[2].Q := FALSE;
TONR[2].RESET := FALSE;
TONR[3].SP := 5;
TONR[3].ET := 0;
TONR[3].RT := 5;
TONR[3].IN := FALSE;
TONR[3].Q := FALSE;
TONR[3].RESET := FALSE;
TONR[4].SP := 5;
TONR[4].ET := 0;
TONR[4].RT := 5;
TONR[4].IN := FALSE;
TONR[4].Q := FALSE;
TONR[4].RESET := FALSE;
TONR[5].SP := 5;
TONR[5].ET := 0;
TONR[5].RT := 5;
TONR[5].IN := FALSE;
TONR[5].Q := FALSE;
TONR[5].RESET := FALSE;
TP[0].PT := 5;
TP[0].ET := 0;
TP[0].IN := FALSE;
TP[0].Q := FALSE;
TP[0].oldIN := FALSE;
TP[1].PT := 5;
TP[1].ET := 0;
TP[1].IN := FALSE;
TP[1].Q := FALSE;
TP[1].oldIN := FALSE;
TP[2].PT := 5;
TP[2].ET := 0;
TP[2].IN := FALSE;
TP[2].Q := FALSE;
TP[2].oldIN := FALSE;
TP[3].PT := 5;
TP[3].ET := 0;
TP[3].IN := FALSE;
TP[3].Q := FALSE;
TP[3].oldIN := FALSE;
TP[4].PT := 5;
TP[4].ET := 0;
TP[4].IN := FALSE;
TP[4].Q := FALSE;
TP[4].oldIN := FALSE;
TP[5].PT := 5;
TP[5].ET := 0;
TP[5].IN := FALSE;
TP[5].Q := FALSE;
TP[5].oldIN := FALSE;
END_DATA_BLOCK END_DATA_BLOCK
@@ -22,6 +22,7 @@ DATA_BLOCK DB2035_PID
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
"PID"[0].Hmi_Estado := 0;
"PID"[0].Estado_AutoMan := TRUE; "PID"[0].Estado_AutoMan := TRUE;
"PID"[0].Estado_ModeActivate := FALSE; "PID"[0].Estado_ModeActivate := FALSE;
"PID"[0].Orden_Forzar := FALSE; "PID"[0].Orden_Forzar := FALSE;
@@ -60,5 +61,6 @@ DATA_BLOCK DB2035_PID
Agrup[0].AlgunaEnManual := TRUE; Agrup[0].AlgunaEnManual := TRUE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -12,4 +12,17 @@ DATA_BLOCK DB2037_MEDIA
{ S7_Setpoint := "False" } { S7_Setpoint := "False" }
MEDIA : Array[0.._.N_MAX_DISP_MEDIA] of _.UDT_ZC_DISP_MEDIA; MEDIA : Array[0.._.N_MAX_DISP_MEDIA] of _.UDT_ZC_DISP_MEDIA;
END_VAR END_VAR
MEDIA[0].IniciarMedia := FALSE;
MEDIA[0].Inicializar := FALSE;
MEDIA[0].auxInicializar := FALSE;
MEDIA[0].TiempoMuestreo := 0;
MEDIA[0].auxTiempo := 0;
MEDIA[0].auxIndice := 0;
MEDIA[0].auxAcumulado := 0.0;
MEDIA[0].Media := 0.0;
MEDIA[0].ValorActual := 0.0;
MEDIA[0].ValorMinimo := 0.0;
MEDIA[0].ValorMaximo := 0.0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -12,4 +12,19 @@ DATA_BLOCK DB2038_MEDIA_VOL
{ S7_Setpoint := "False" } { S7_Setpoint := "False" }
MEDIA_VOL : Array[0.._.N_MAX_DISP_MEDIA_VOLUMEN] of _.UDT_ZC_DISP_MEDIA_VOLUMEN; MEDIA_VOL : Array[0.._.N_MAX_DISP_MEDIA_VOLUMEN] of _.UDT_ZC_DISP_MEDIA_VOLUMEN;
END_VAR END_VAR
MEDIA_VOL[0].IniciarMedia := FALSE;
MEDIA_VOL[0].Inicializar := FALSE;
MEDIA_VOL[0].auxInicializar := FALSE;
MEDIA_VOL[0].TiempoMuestreo := 0;
MEDIA_VOL[0].auxTiempo := 0;
MEDIA_VOL[0].auxValorMedia := 0.0;
MEDIA_VOL[0].auxAcumulado := 0.0;
MEDIA_VOL[0].auxVolumen := 0.0;
MEDIA_VOL[0].Media := 0.0;
MEDIA_VOL[0].ValorActual := 0.0;
MEDIA_VOL[0].Volumen := 0.0;
MEDIA_VOL[0].ValorMinimo := 0.0;
MEDIA_VOL[0].ValorMaximo := 0.0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -23,11 +23,112 @@ DATA_BLOCK DB2040_TQ
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
TQ[0].Hmi_Estado := 0;
TQ[0].Estado_AutoMan := FALSE;
TQ[0].Estado_TanqueVacio := FALSE;
TQ[0].Estado_TanqueLleno := FALSE;
TQ[0].Estado_PocisionAltura := FALSE;
TQ[0].Estado_NivelBajo := FALSE;
TQ[0].Estado_NivelAlto := FALSE;
TQ[0].Estado_BocaHombre := FALSE;
TQ[0].Estado_Mezcla := FALSE;
TQ[0].Alarmas_NivelBajo := FALSE;
TQ[0].Alarmas_NivelAlto := FALSE;
TQ[0].Alarmas_BocaHombre := FALSE;
TQ[0].Alarmas_General := FALSE;
TQ[0].Alarmas_Capacidad := FALSE;
TQ[0].Orden_Temperatura := FALSE;
TQ[0].Orden_Agitacion := FALSE;
TQ[0].Orden_CIP := FALSE;
TQ[0].Orden_Producto := FALSE;
TQ[0].Orden_CambioEstado := FALSE;
TQ[0].Orden_CambioProd1 := FALSE;
TQ[0].Orden_CambioProd2 := FALSE;
TQ[0].Config_Habilitar := FALSE;
TQ[0].Config_HabilitarControlTemp := TRUE; TQ[0].Config_HabilitarControlTemp := TRUE;
TQ[0].Config_HabilitarAgitador := TRUE; TQ[0].Config_HabilitarAgitador := TRUE;
TQ[0].Config_HabilitarFrecuenciaAgitacion := TRUE;
TQ[0].Config_HabilitarAlarmas := FALSE;
TQ[0].Config_HabilitarCalculoVol := FALSE;
TQ[0].Config_TipoControlTemperatura := FALSE;
TQ[0].Vis_ConsignaTemperatura := FALSE;
TQ[0].Aux_MemOrdenAgitador := FALSE;
TQ[0].Aux_MemOrdenTemperatura := FALSE;
TQ[0].Aux_MemOrdenProducto := FALSE;
TQ[0].Aux_MemEstadoCIP := FALSE;
TQ[0].Aux_CipOK := FALSE;
TQ[0].Orden_ParoControlAgitador := FALSE;
TQ[0].Orden_ParoControlTemp := FALSE;
TQ[0].R_Bool_6 := FALSE;
TQ[0].R_Bool_8 := FALSE;
TQ[0].Config_GrupoAlarma := 0;
TQ[0].Estado_Tanque := 0;
TQ[0].Estado_TanqueNuevo := 0;
TQ[0].Estado_Producto1 := 0;
TQ[0].Estado_Producto2 := 0;
TQ[0].Estado_ProductoNuevo := 0;
TQ[0].Estado_ValorNivelPresion := 0.0;
TQ[0].Estado_ValorTemperatura := 0.0;
TQ[0].Estado_Volumen := 0.0;
TQ[0].Estado_Presion := 0.0;
TQ[0].Estado_Altura := 0.0;
TQ[0].Orden_TipoProducto := 0;
TQ[0].Orden_ConsignaAgitador := 0.0;
TQ[0].Orden_ConsignaManualVolumen := 0.0;
TQ[0].Config_TipoAgitacionTiempo := 0;
TQ[0].Config_TipoAgitacionVelocidad := 0;
TQ[0].Config_ConsignaTemperatura := 0.0;
TQ[0].Config_HisteresisTemperatura := 0.0;
TQ[0].Config_VolumenMinControlTemp := 0.0;
TQ[0].Config_VolumenMaxControlTemp := 0.0;
TQ[0].Config_VolumenMinControlAgitador := 0.0;
TQ[0].Config_VolumenMaxControlAgitador := 0.0;
TQ[0].Config_VolumenTanqueVacio := 0.0;
TQ[0].Config_VolumenTanqueLleno := 0.0;
TQ[0].Config_VelocidadMinAgitador := 0.0;
TQ[0].Config_VelocidadMaxAgitador := 0.0;
TQ[0].Config_VelocidadFijaAgitador := 0.0;
TQ[0].Config_CapacidadTanque := 0.0;
TQ[0].Config_DiametroCilindro := 0.0;
TQ[0].Config_AlturaCilindro := 0.0;
TQ[0].Config_DiametroConoInferior := 0.0;
TQ[0].Config_AnguloCono := 0.0;
TQ[0].Config_AlturaCono := 0.0;
TQ[0].Tiempo_AgitadorONConsigna := 0;
TQ[0].Tiempo_AgitadorONActual := 0;
TQ[0].Tiempo_AgitadorOFFConsigna := 0;
TQ[0].Tiempo_AgitadorOFFActual := 0;
TQ[0].Tiempo_TiempoProducto.Hora := 0;
TQ[0].Tiempo_TiempoProducto.Minuto := 0;
TQ[0].Tiempo_TiempoProducto.Segundo := 0;
TQ[0].Tiempo_TiempoLimpio.Hora := 0;
TQ[0].Tiempo_TiempoLimpio.Minuto := 0;
TQ[0].Tiempo_TiempoLimpio.Segundo := 0;
TQ[0].Tiempo_RetTanqueVacio.SP := 5; TQ[0].Tiempo_RetTanqueVacio.SP := 5;
TQ[0].Tiempo_RetTanqueVacio.ET := 0;
TQ[0].Tiempo_RetTanqueVacio.IN := FALSE;
TQ[0].Tiempo_RetTanqueVacio.Q := FALSE;
TQ[0].Tiempo_RetTanqueLleno.SP := 5;
TQ[0].Tiempo_RetTanqueLleno.ET := 0;
TQ[0].Tiempo_RetTanqueLleno.IN := FALSE;
TQ[0].Tiempo_RetTanqueLleno.Q := FALSE;
TQ[0].FlipAgitador.Estado_Flip := FALSE;
TQ[0].FlipAgitador.Estado_Flop := FALSE;
TQ[0].FlipAgitador.Estado_Paro1 := FALSE;
TQ[0].FlipAgitador.Estado_Paro2 := FALSE;
TQ[0].FlipAgitador.Orden_Activar := FALSE;
TQ[0].FlipAgitador.Orden_Pausa := FALSE;
TQ[0].FlipAgitador.Aux_Inicializado := FALSE;
TQ[0].FlipAgitador.Estado_Etapa := 0;
TQ[0].FlipAgitador.Config_SetPointTiempoFlip := 0;
TQ[0].FlipAgitador.Config_SetPointTiempoFlop := 0;
TQ[0].FlipAgitador.Config_SetPointTiempoParo := 0;
TQ[0].FlipAgitador.Aux_Tiempo := 0;
{ S7_MLC := "MLC_3Un" } { S7_MLC := "MLC_3Un" }
TQ[0] := (); TQ[0] := ();
Agrup[0].AlgunaEnManual := FALSE; Agrup[0].AlgunaEnManual := FALSE;
Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -22,6 +22,7 @@ DATA_BLOCK DB2041_TQ_AE
NumDispositivos : Int; NumDispositivos : Int;
END_VAR END_VAR
TQ_AE[0].Hmi_Estado := 0;
TQ_AE[0].Estado_AutoMan := FALSE; TQ_AE[0].Estado_AutoMan := FALSE;
TQ_AE[0].Orden_Manual := FALSE; TQ_AE[0].Orden_Manual := FALSE;
TQ_AE[0].Orden_CIP := FALSE; TQ_AE[0].Orden_CIP := FALSE;
@@ -58,8 +59,9 @@ DATA_BLOCK DB2041_TQ_AE
TQ_AE[0].Tiempos_DuchaTiempoFlop := 0; TQ_AE[0].Tiempos_DuchaTiempoFlop := 0;
{ S7_MLC := "MLC_55Q" } { S7_MLC := "MLC_55Q" }
TQ_AE[0] := (); TQ_AE[0] := ();
Agrup[0].AlgunaEnManual := TRUE; Agrup[0].AlgunaEnManual := FALSE;
Agrup[0].AlgunaAlarma := FALSE; Agrup[0].AlgunaAlarma := FALSE;
Agrup[0].NuevaAlarma := FALSE; Agrup[0].NuevaAlarma := FALSE;
NumDispositivos := 0;
END_DATA_BLOCK END_DATA_BLOCK
@@ -99,7 +99,6 @@ FUNCTION "FC9_DISPOSITIVOS" : Void
// Entrada Analogica // Entrada Analogica
// Traspaso de valores de entradas a los dispositivos configurados con tipo de acceso directo. // Traspaso de valores de entradas a los dispositivos configurados con tipo de acceso directo.
// Ejemplo: "DB2001_EA".EA[TAG].Estado_Lectura := %IW100.0; // Ejemplo: "DB2001_EA".EA[TAG].Estado_Lectura := %IW100.0;
END_NETWORK END_NETWORK
{ {
S7_Language := "SCL"; S7_Language := "SCL";
@@ -1,8 +1,7 @@
{ {
S7_Author := "ABH"; S7_Author := "ABH";
S7_BlockNumber := "51"; S7_BlockNumber := "55";
S7_Family := "ZeusControl"; S7_Family := "ZeusControl";
S7_IECCheck := "TRUE";
S7_Optimized := "TRUE"; S7_Optimized := "TRUE";
S7_PreferredLanguage := "LAD"; S7_PreferredLanguage := "LAD";
S7_Version := "1.0" S7_Version := "1.0"
@@ -14,6 +13,20 @@ FUNCTION "FC55_PROGRAMA_USUARIO" : Void
} }
NETWORK NETWORK
END_NETWORK
{
S7_Language := "SCL";
S7_NetworkTitle := "MLC_43V"
}
NETWORK
// ==========================================================================================================
// Identificador de red profinet
// Ejemplo: "DB1_SYS".RedProfinet.Identificador := "Local~PROFINET_IO-System";
// Seguridades Ok generales (dispositivos)
// Ejemplo: "DB1_SYS".SegOkGenerales := NOT "DB5000_GNR_ALM".ALM[1].Out;
END_NETWORK END_NETWORK
{ {
S7_Language := "SCL"; S7_Language := "SCL";
@@ -21,6 +34,11 @@ FUNCTION "FC55_PROGRAMA_USUARIO" : Void
} }
NETWORK NETWORK
// ==========================================================================================================
// Llamadas a procesos
END_NETWORK END_NETWORK
{ {
S7_Language := "SCL"; S7_Language := "SCL";
@@ -28,5 +46,9 @@ FUNCTION "FC55_PROGRAMA_USUARIO" : Void
} }
NETWORK NETWORK
// ==========================================================================================================
// Llamadas a otros bloques
END_NETWORK END_NETWORK
END_FUNCTION END_FUNCTION
@@ -1,6 +1,8 @@
MultiLingualTexts: MultiLingualTexts:
- id: MLC_3ZS - id: MLC_3ZS
es-ES: DESCRIPCION es-ES: DESCRIPCION
- id: MLC_43V
es-ES: MARCAS GENERALES
- id: MLC_zw - id: MLC_zw
es-ES: LLAMADAS A PROCESOS es-ES: LLAMADAS A PROCESOS
- id: MLC_h6 - id: MLC_h6
@@ -5,4 +5,9 @@
S7_Version := "0.1" S7_Version := "0.1"
} }
ORGANIZATION_BLOCK "OB100_Startup" ORGANIZATION_BLOCK "OB100_Startup"
{ S7_Language := "LAD" }
NETWORK
RUNG wire#powerrail
END_RUNG
END_NETWORK
END_ORGANIZATION_BLOCK END_ORGANIZATION_BLOCK
@@ -8,6 +8,7 @@
ORGANIZATION_BLOCK "OB1_MAIN" ORGANIZATION_BLOCK "OB1_MAIN"
VAR_TEMP VAR_TEMP
for_i : Int; for_i : Int;
t_HW_IOSYSTEM : HW_IOSYSTEM;
END_VAR END_VAR
{ {
@@ -18,9 +19,7 @@ ORGANIZATION_BLOCK "OB1_MAIN"
RUNG wire#powerrail RUNG wire#powerrail
"FC50_MAIN"( "FC50_MAIN"(
CPU_MarcasCiclo := "Clock_Byte", CPU_MarcasCiclo := "Clock_Byte",
CPU_MarcasSistema := "System_Byte", CPU_MarcasSistema := "System_Byte"
RedProfinet := "Local~PROFINET_IO-System",
SegGeneralDisp := TRUE
) )
END_RUNG END_RUNG
END_NETWORK END_NETWORK
@@ -18,6 +18,8 @@ DATA_BLOCK DB1_SYS
ACK : Bool; ACK : Bool;
{ S7_MLC := "MLC_52i" } { S7_MLC := "MLC_52i" }
ARRANQUE : Bool; ARRANQUE : Bool;
{ S7_MLC := "MLC_4s3" }
SegOkGenerales : Bool;
{ S7_MLC := "MLC_3vb" } { S7_MLC := "MLC_3vb" }
Pulso100ms : Bool; Pulso100ms : Bool;
{ S7_MLC := "MLC_4uy" } { S7_MLC := "MLC_4uy" }
@@ -88,7 +90,12 @@ DATA_BLOCK DB1_SYS
END_VAR END_VAR
VAR VAR
RedProfinet : Array[0..1023] of Bool; { S7_MLC := "MLC_38Q" }
RedProfinet : STRUCT
{ S7_MLC := "MLC_4XV" }
Identificador : HW_IOSYSTEM;
Status : Array[0..1023] of Bool;
END_STRUCT;
END_VAR END_VAR
VAR RETAIN VAR RETAIN
@@ -11,6 +11,8 @@
es-ES: Acuse general de errores es-ES: Acuse general de errores
- id: MLC_52i - id: MLC_52i
es-ES: Marca de primer arranque del sistema es-ES: Marca de primer arranque del sistema
- id: MLC_4s3
es-ES: Seguridades Ok Generales
- id: MLC_3vb - id: MLC_3vb
es-ES: Pulso 100 ms es-ES: Pulso 100 ms
- id: MLC_4uy - id: MLC_4uy
@@ -91,6 +93,10 @@
es-ES: '-' es-ES: '-'
- id: MLC_3JT - id: MLC_3JT
es-ES: Usuario actual es-ES: Usuario actual
- id: MLC_38Q
es-ES: Estado de red profinet
- id: MLC_4XV
es-ES: Identificador
- id: MLC_45G - id: MLC_45G
es-ES: P_TRIG Pulso 100 ms es-ES: P_TRIG Pulso 100 ms
- id: MLC_3zd - id: MLC_3zd
@@ -14,8 +14,6 @@ FUNCTION "FC1_ZC_SISTEMA" : Void
CPU_MarcasCiclo : Byte; CPU_MarcasCiclo : Byte;
{ S7_MLC := "MLC_4Mc" } { S7_MLC := "MLC_4Mc" }
CPU_MarcasSistema : Byte; CPU_MarcasSistema : Byte;
{ S7_MLC := "MLC_3B7" }
RedProfinet : HW_IOSYSTEM;
END_VAR END_VAR
VAR_TEMP VAR_TEMP
{ S7_MLC := "MLC_3bT" } { S7_MLC := "MLC_3bT" }
@@ -423,7 +421,7 @@ FUNCTION "FC1_ZC_SISTEMA" : Void
REGION RED_PROFINET REGION RED_PROFINET
// Comprobacion de red profinet // Comprobacion de red profinet
#t_RetVal := DeviceStates(LADDR := #RedProfinet, MODE := 4, STATE := "DB1_SYS".RedProfinet); #t_RetVal := DeviceStates(LADDR := "DB1_SYS".RedProfinet.Identificador, MODE := 4, STATE := "DB1_SYS".RedProfinet.Status);
END_REGION RED_PROFINET END_REGION RED_PROFINET
@@ -7,8 +7,6 @@
es-ES: Byte Marca de ciclo CPU es-ES: Byte Marca de ciclo CPU
- id: MLC_4Mc - id: MLC_4Mc
es-ES: Byte Marcas de sistema es-ES: Byte Marcas de sistema
- id: MLC_3B7
es-ES: ID Profinet IO System
- id: MLC_3bT - id: MLC_3bT
es-ES: Variable para bucles FOR es-ES: Variable para bucles FOR
- id: MLC_4GP - id: MLC_4GP
@@ -11,10 +11,6 @@ FUNCTION "FC50_MAIN" : Void
CPU_MarcasCiclo : Byte; CPU_MarcasCiclo : Byte;
{ S7_MLC := "MLC_3Se" } { S7_MLC := "MLC_3Se" }
CPU_MarcasSistema : Byte; CPU_MarcasSistema : Byte;
{ S7_MLC := "MLC_4gv" }
RedProfinet : HW_IOSYSTEM;
{ S7_MLC := "MLC_45H" }
SegGeneralDisp : Bool;
END_VAR END_VAR
{ S7_Language := "SCL" } { S7_Language := "SCL" }
@@ -70,8 +66,7 @@ FUNCTION "FC50_MAIN" : Void
// Llamada a marcas de sistema // Llamada a marcas de sistema
"FC1_ZC_SISTEMA"(CPU_MarcasCiclo := "Clock_Byte", "FC1_ZC_SISTEMA"(CPU_MarcasCiclo := "Clock_Byte",
CPU_MarcasSistema := "System_Byte", CPU_MarcasSistema := "System_Byte");
RedProfinet := "Local~PROFINET_IO-System");
// Llamada a utilizades // Llamada a utilizades
"DB15994_ZC_INICIALIZAR_DISP"(); "DB15994_ZC_INICIALIZAR_DISP"();
@@ -110,8 +105,7 @@ FUNCTION "FC50_MAIN" : Void
END_REGION LLAMADA_GESTOR_DISPOSITIVOS END_REGION LLAMADA_GESTOR_DISPOSITIVOS
// ==========================================================================================================
// ==========================================================================================================
REGION LLAMADA_ED REGION LLAMADA_ED
// Gestion multiplexado // Gestion multiplexado
@@ -139,6 +133,7 @@ FUNCTION "FC50_MAIN" : Void
Ack := "DB1_SYS".ACK, Ack := "DB1_SYS".ACK,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
END_REGION LLAMADA_EA END_REGION LLAMADA_EA
@@ -153,7 +148,7 @@ FUNCTION "FC50_MAIN" : Void
Simulacion := "DB1_SYS".SIM, Simulacion := "DB1_SYS".SIM,
Arranque := "DB1_SYS".ARRANQUE, Arranque := "DB1_SYS".ARRANQUE,
Ack := "DB1_SYS".ACK, Ack := "DB1_SYS".ACK,
SeguridadesOK := #SegGeneralDisp, SeguridadesOK := "DB1_SYS".SegOkGenerales,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
@@ -168,7 +163,7 @@ FUNCTION "FC50_MAIN" : Void
// Gestion dispositivo // Gestion dispositivo
"FC2006_ZC_SA"(Ack := "DB1_SYS".ACK, "FC2006_ZC_SA"(Ack := "DB1_SYS".ACK,
SeguridadesOK := #SegGeneralDisp, SeguridadesOK := "DB1_SYS".SegOkGenerales,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
@@ -187,7 +182,7 @@ FUNCTION "FC50_MAIN" : Void
Simulacion := "DB1_SYS".SIM, Simulacion := "DB1_SYS".SIM,
Arranque := "DB1_SYS".ARRANQUE, Arranque := "DB1_SYS".ARRANQUE,
Ack := "DB1_SYS".ACK, Ack := "DB1_SYS".ACK,
SeguridadesOK := #SegGeneralDisp, SeguridadesOK := "DB1_SYS".SegOkGenerales,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
@@ -205,7 +200,7 @@ FUNCTION "FC50_MAIN" : Void
"FC2015_ZC_M"(Pulso1seg := "DB1_SYS".Pulso1seg, "FC2015_ZC_M"(Pulso1seg := "DB1_SYS".Pulso1seg,
Simulacion := "DB1_SYS".SIM, Simulacion := "DB1_SYS".SIM,
Ack := "DB1_SYS".ACK, Ack := "DB1_SYS".ACK,
SeguridadesOK := #SegGeneralDisp, SeguridadesOK := "DB1_SYS".SegOkGenerales,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
@@ -224,7 +219,7 @@ FUNCTION "FC50_MAIN" : Void
Simulacion := "DB1_SYS".SIM, Simulacion := "DB1_SYS".SIM,
Arranque := "DB1_SYS".ARRANQUE, Arranque := "DB1_SYS".ARRANQUE,
Ack := "DB1_SYS".ACK, Ack := "DB1_SYS".ACK,
SeguridadesOK := #SegGeneralDisp, SeguridadesOK := "DB1_SYS".SegOkGenerales,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
@@ -243,7 +238,7 @@ FUNCTION "FC50_MAIN" : Void
Simulacion := "DB1_SYS".SIM, Simulacion := "DB1_SYS".SIM,
Arranque := "DB1_SYS".ARRANQUE, Arranque := "DB1_SYS".ARRANQUE,
Ack := "DB1_SYS".ACK, Ack := "DB1_SYS".ACK,
SeguridadesOK := #SegGeneralDisp, SeguridadesOK := "DB1_SYS".SegOkGenerales,
UsuarioActual := "DB1_SYS".Usuario.Actual, UsuarioActual := "DB1_SYS".Usuario.Actual,
FechaHoraActual := "DB1_SYS".FechaHoraActual); FechaHoraActual := "DB1_SYS".FechaHoraActual);
@@ -3,7 +3,3 @@
es-ES: Byte Marca de ciclo CPU es-ES: Byte Marca de ciclo CPU
- id: MLC_3Se - id: MLC_3Se
es-ES: Byte Marcas de sistema es-ES: Byte Marcas de sistema
- id: MLC_4gv
es-ES: ID Profinet IO System
- id: MLC_45H
es-ES: Seguridad general dispositivos
@@ -148,10 +148,10 @@ FUNCTION "FC2000_ZC_ED" : Void
byteOffset := "DB2000_ED".ED[#for_i].Config_DirEntradaByte, byteOffset := "DB2000_ED".ED[#for_i].Config_DirEntradaByte,
bitOffset := "DB2000_ED".ED[#for_i].Config_DirEntradaBit); bitOffset := "DB2000_ED".ED[#for_i].Config_DirEntradaBit);
IF NOT "DB2000_ED".ED[#for_i].Config_HabilitarInvertir THEN IF "DB2000_ED".ED[#for_i].Config_HabilitarInvertir THEN
"DB2000_ED".ED[#for_i].Estado_EntradaCanal := #t_ValorEntrada;
ELSE
"DB2000_ED".ED[#for_i].Estado_EntradaCanal := NOT #t_ValorEntrada; "DB2000_ED".ED[#for_i].Estado_EntradaCanal := NOT #t_ValorEntrada;
ELSE
"DB2000_ED".ED[#for_i].Estado_EntradaCanal := #t_ValorEntrada;
END_IF; END_IF;
END_IF; END_IF;
@@ -248,7 +248,8 @@ FUNCTION "FC2806_ZC_SA_MUX" : Void
OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_Habilitar <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_Habilitar) OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_Habilitar <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_Habilitar)
OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_HabilitarAlarmaMax <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_HabilitarAlarmaMax) OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_HabilitarAlarmaMax <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_HabilitarAlarmaMax)
OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_HabilitarAlarmaMin <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_HabilitarAlarmaMin) OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_HabilitarAlarmaMin <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_HabilitarAlarmaMin)
OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_TipoAcceso <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_TipoAcceso); OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Config_TipoAcceso <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Config_TipoAcceso)
OR ("DB2806_SA_MUX".Mux.Scada[#for_mux].SA.Orden_ConsignaManual <> "DB2806_SA_MUX".Mux.Scada[#for_mux].oldSA.Orden_ConsignaManual);
END_REGION GESTION_CAMBIOS_CONFIG END_REGION GESTION_CAMBIOS_CONFIG
@@ -19,7 +19,7 @@ DATA_BLOCK DB11_INF
Gestion.EstadoConexion := TRUE; Gestion.EstadoConexion := TRUE;
Gestion.OrdenIniciar := FALSE; Gestion.OrdenIniciar := FALSE;
Gestion.Etapa := 0; Gestion.Etapa := 0;
Gestion.SP_Tiempo := 10; Gestion.SP_TiempoOrden := 10;
Gestion.TiempoActual := 0; Gestion.TiempoActual := 0;
Gestion.NumeroMaxIntentos := 3; Gestion.NumeroMaxIntentos := 3;
@@ -23,6 +23,11 @@ FUNCTION "FC11_ZC_INF_GESTOR" : Void
t_RegistroEncontrado : Bool; t_RegistroEncontrado : Bool;
{ S7_MLC := "MLC_3wk" } { S7_MLC := "MLC_3wk" }
t_RetVal : Int; t_RetVal : Int;
{ S7_MLC := "MLC_4uy" }
t_IndiceSuperiorBuffer : Int;
{ S7_MLC := "MLC_43x" }
t_IndiceInferiorBuffer : Int;
t_InformeVacio : _.UDT_ZC_INF_DATOS;
END_VAR END_VAR
VAR CONSTANT VAR CONSTANT
{ S7_MLC := "MLC_PN" } { S7_MLC := "MLC_PN" }
@@ -90,402 +95,223 @@ FUNCTION "FC11_ZC_INF_GESTOR" : Void
END_REGION DESCRIPCION END_REGION DESCRIPCION
// ==========================================================================================================
REGION COMPROBACION_N_MAX
// Si no hay buffer habilitado salimos inmediatamente
IF "N_MAX_INF_BUFFER" <= 0 THEN
RETURN;
END_IF;
// Traspaso de N_MAX a variable temporal para evitar fallos de compilacion
#t_IndiceInferiorBuffer := 1;
#t_IndiceSuperiorBuffer := "N_MAX_INF_BUFFER";
END_REGION COMPROBACION_N_MAX
// ========================================================================================================== // ==========================================================================================================
REGION GESTION_INFORMES REGION GESTION_INFORMES
// ============================================================================= // ==========================================================================================================
// COPIAMOS EL ULTIMO REGISTRO (El mas antiguo) A LA VARIABLE REGISTRO QUE ES LA REGION GESTION_ULTIMO_REGISTRO
// ENCARGADA DE COMUNICARLA CON EL SCADA/HMI
IF "DB11_INF".Gestion.HabilitacionGeneral AND "DB11_INF".Gestion.Datos.Registrar = 0 AND #Pulso1Seg THEN
// ============================================================================= // Si la gestion esta habilitada, se busca el ultimo registro y se mueve a la variable de gestion de avisos para
// Buscamos el ultimo registro // los sistemas de supervision
FOR #for_i := "N_MAX_INF_BUFFER" TO 0 BY -1 DO IF "DB11_INF".Gestion.HabilitacionGeneral AND "DB11_INF".Gestion.Etapa = #REPOSO THEN
// ============================================================================= // =============================================================================
// Registro encontrado // Buscamos el ultimo registro
IF "DB11_INF".Buffer[#for_i].Registrar = 1 THEN FOR #for_i := #t_IndiceSuperiorBuffer TO #t_IndiceInferiorBuffer BY -1 DO
#t_PosicionRegistro := #for_i;
#t_RegistroEncontrado := TRUE; // =============================================================================
EXIT; // Registro encontrado
IF "DB11_INF".Buffer[#for_i].Registrar = 1 THEN
#t_PosicionRegistro := #for_i;
#t_RegistroEncontrado := TRUE;
EXIT;
END_IF;
END_FOR;
// =============================================================================
// Si hemos encontrado el registro, copiamos a variable estatica
IF #t_RegistroEncontrado THEN
// =============================================================================
// Copiamos el los datos de la traza a variable estatica para tratarla
"DB11_INF".Gestion.Datos := "DB11_INF".Buffer[#t_PosicionRegistro];
"DB11_INF".Gestion.Datos.Id := "FC15006_ZC_DTL_TO_STRING"(FechaDTL := "DB1_SYS".FechaHoraActual, Formato := 3);
// =============================================================================
// Quitamos el registro del buffer
"DB11_INF".Buffer[#t_PosicionRegistro] := #t_InformeVacio;
END_IF; END_IF;
END_FOR;
// =============================================================================
// Si hemos encontrado el registro, copiamos a variable estatica
IF #t_RegistroEncontrado THEN
// =============================================================================
// Copiamos el los datos de la traza a variable estatica para tratarla
"DB11_INF".Gestion.Datos := "DB11_INF".Buffer[#t_PosicionRegistro];
"DB11_INF".Gestion.Datos.Id := "FC15006_ZC_DTL_TO_STRING"(FechaDTL := "DB1_SYS".FechaHoraActual, Formato := 3);
// =============================================================================
// Quitamos el registro del buffer
"DB11_INF".Buffer[#t_PosicionRegistro].Registrar := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Id := '';
"DB11_INF".Buffer[#t_PosicionRegistro].Tipo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Codigo := '';
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.Ano := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.Mes := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.Dia := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.DiaSemana := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.Hora := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.Minuto := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.Segundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_1.NanoSegundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.Ano := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.Mes := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.Dia := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.DiaSemana := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.Hora := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.Minuto := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.Segundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_2.NanoSegundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.Ano := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.Mes := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.Dia := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.DiaSemana := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.Hora := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.Minuto := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.Segundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Fecha_3.NanoSegundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_1 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_2 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_3 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_4 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_5 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_6 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_7 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_8 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_9 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_10 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_11 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_12 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_13 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_14 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_15 := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_1 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_2 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_3 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_4 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_5 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_6 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_7 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_8 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_9 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_10 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_11 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_12 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_13 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_14 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_15 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_16 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_17 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_18 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_19 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_20 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_21 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_22 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_23 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_24 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_25 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_26 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_27 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_28 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_29 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_30 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_31 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Bool_32 := FALSE;
"DB11_INF".Buffer[#t_PosicionRegistro].Real_1 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_2 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_3 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_4 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_5 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_6 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_7 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_8 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_9 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_10 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_11 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_12 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_13 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_14 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_15 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_16 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_17 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_18 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_19 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Real_20 := 0.0;
"DB11_INF".Buffer[#t_PosicionRegistro].Int_1 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_2 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_3 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_4 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_5 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_6 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_7 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_8 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_9 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_10 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_11 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_12 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_13 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_14 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_15 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_16 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_17 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_18 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_19 :=
"DB11_INF".Buffer[#t_PosicionRegistro].Int_20 := 0;
END_IF; END_IF;
END_IF; END_REGION GESTION_ULTIMO_REGISTRO
// ============================================================================= // ==========================================================================================================
// Si existe registro a trazar, lanzamos la orden de iniciar la secuencia REGION GESTION_ORDEN_INICIAR
IF "DB11_INF".Gestion.Datos.Registrar = 1 AND "DB11_INF".Gestion.Etapa = #REPOSO AND "DB11_INF".Gestion.EstadoConexion THEN
// Lanzamos la orden de iniciar la secuencia de registro // =============================================================================
"DB11_INF".Gestion.OrdenIniciar := TRUE; // Si existe registro a trazar, lanzamos la orden de iniciar la secuencia
IF "DB11_INF".Gestion.Datos.Registrar = 1 AND "DB11_INF".Gestion.Etapa = #REPOSO AND "DB11_INF".Gestion.EstadoConexion THEN
// Lanzamos la orden de iniciar la secuencia de registro
"DB11_INF".Gestion.OrdenIniciar := TRUE;
END_IF;
END_IF; END_REGION GESTION_ORDEN_INICIAR
END_REGION GESTION_INFORMES
END_REGION
// ========================================================================================================== // ==========================================================================================================
REGION SECUENCIA_INFORME REGION SECUENCIA_INFORME
// En caso de deshabilitar los informes, ponemos el estado en borrar datos.
IF NOT "DB11_INF".Gestion.HabilitacionGeneral AND "DB11_INF".Gestion.Etapa <> #REPOSO THEN IF NOT "DB11_INF".Gestion.HabilitacionGeneral AND "DB11_INF".Gestion.Etapa <> #REPOSO THEN
"DB11_INF".Gestion.Etapa := #BORRAR_DATOS; "DB11_INF".Gestion.Etapa := #BORRAR_DATOS;
END_IF; END_IF;
// Gestion informes
CASE "DB11_INF".Gestion.Etapa OF CASE "DB11_INF".Gestion.Etapa OF
// ============================================================================= // =============================================================================
// Etapa reposo
#REPOSO: #REPOSO:
IF "DB11_INF".Gestion.OrdenIniciar THEN REGION REPOSO
"DB11_INF".Gestion.Etapa := #LANZAR_AVISO;
"DB11_INF".Gestion.OrdenIniciar := FALSE; // Con orden de iniciar, vamos a etapa Lanzar aviso
"DB11_INF".Gestion.Aviso.Registrar := 0; IF "DB11_INF".Gestion.OrdenIniciar THEN
"DB11_INF".Gestion.TiempoActual := 0; "DB11_INF".Gestion.Etapa := #LANZAR_AVISO;
"DB11_INF".Gestion.Aviso.NumeroIntentosActual := 0; "DB11_INF".Gestion.OrdenIniciar := FALSE;
END_IF; "DB11_INF".Gestion.Aviso.Registrar := 0;
"DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Aviso.NumeroIntentosActual := 0;
END_IF;
END_REGION REPOSO
// =============================================================================
// Etapa espera entre avisos
// =============================================================================
#ESPERA_ENTRE_AVISOS: #ESPERA_ENTRE_AVISOS:
// Contador de tiempo de etapa REGION #ESPERA_ENTRE_AVISOS
IF #Pulso1Seg THEN
"DB11_INF".Gestion.TiempoActual += 1; // Contador de tiempo de etapa
END_IF; IF #Pulso1Seg THEN
// Tiempo maximo de espera "DB11_INF".Gestion.TiempoActual += 1;
IF ("DB11_INF".Gestion.TiempoActual >= "DB11_INF".Gestion.SP_Tiempo) THEN END_IF;
"DB11_INF".Gestion.TiempoActual := 0; // Tiempo maximo de espera
"DB11_INF".Gestion.Etapa := #LANZAR_AVISO; IF ("DB11_INF".Gestion.TiempoActual >= "DB11_INF".Gestion.SP_TiempoEspera) THEN
END_IF; "DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Etapa := #LANZAR_AVISO;
END_IF;
END_REGION ESPERA_ENTRE_AVISOS
// Si ya se ha alcanzado el numero maximo de intentos, generamos la traza // =============================================================================
IF "DB11_INF".Gestion.Aviso.NumeroIntentosActual >= "DB11_INF".Gestion.NumeroMaxIntentos THEN // Etapa lanzar aviso
"DB11_INF".Gestion.Etapa := #FALLO;
"DB11_INF".Gestion.Aviso.Registrar := 0;
END_IF;
// =============================================================================
#LANZAR_AVISO: #LANZAR_AVISO:
REGION LANZAR_AVISO
// Activamos temporizador
IF #Pulso1Seg THEN
"DB11_INF".Gestion.TiempoActual += 1;
END_IF;
// Activamos orden de lanzar el aviso
"DB11_INF".Gestion.Aviso.Registrar := TRUE;
// Espera tiempo de seguridad
IF ("DB11_INF".Gestion.TiempoActual >= "DB11_INF".Gestion.SP_TiempoOrden) THEN
"DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Etapa := #ESPERA_CONFIRMACION;
END_IF;
END_REGION LANZAR_AVISO
IF #Pulso1Seg THEN // =============================================================================
"DB11_INF".Gestion.TiempoActual += 1; // Etapa espera confirmacion
END_IF;
"DB11_INF".Gestion.Aviso.Registrar := TRUE;
IF ("DB11_INF".Gestion.TiempoActual >= "DB11_INF".Gestion.SP_Tiempo) THEN
"DB11_INF".Gestion.Etapa := #ESPERA_CONFIRMACION;
END_IF;
// =============================================================================
#ESPERA_CONFIRMACION: #ESPERA_CONFIRMACION:
REGION ESPERA_CONFIRMACION
// Activamos temporizador
IF #Pulso1Seg THEN
"DB11_INF".Gestion.TiempoActual += 1;
END_IF;
// Confirmacion desde SCADA OK
IF "DB11_INF".Gestion.Aviso.Estado = 4 THEN
"DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Aviso.Estado := 0;
"DB11_INF".Gestion.Aviso.Registrar := FALSE;
"DB11_INF".Gestion.Etapa := #BORRAR_DATOS;
END_IF;
// Tiempo maximo de espera
IF ("DB11_INF".Gestion.TiempoActual >= "DB11_INF".Gestion.SP_TiempoEspera)
OR
("DB11_INF".Gestion.Aviso.Estado = 12)
THEN
"DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Aviso.Estado := 0;
"DB11_INF".Gestion.Aviso.Registrar := FALSE;
"DB11_INF".Gestion.Aviso.NumeroIntentosActual += 1;
// Si ya se ha alcanzado el numero maximo de intentos, generamos la traza
IF "DB11_INF".Gestion.Aviso.NumeroIntentosActual >= "DB11_INF".Gestion.NumeroMaxIntentos THEN
"DB11_INF".Gestion.Etapa := #FALLO;
ELSE
"DB11_INF".Gestion.Etapa := #ESPERA_ENTRE_AVISOS;
END_IF;
END_IF;
END_REGION ESPERA_CONFIRMACION
IF #Pulso1Seg THEN // =============================================================================
"DB11_INF".Gestion.TiempoActual += 1; // Etapa borrar datos
END_IF;
// Confirmacion desde SCADA OK
IF "DB11_INF".Gestion.Aviso.Estado = 4 THEN
"DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Aviso.Estado := 0;
"DB11_INF".Gestion.Aviso.Registrar := FALSE;
"DB11_INF".Gestion.Etapa := #BORRAR_DATOS;
END_IF;
// Tiempo maximo de espera
IF ("DB11_INF".Gestion.TiempoActual >= "DB11_INF".Gestion.SP_Tiempo)
OR
("DB11_INF".Gestion.Aviso.Estado = 12)
THEN
"DB11_INF".Gestion.TiempoActual := 0;
"DB11_INF".Gestion.Aviso.Estado := 0;
"DB11_INF".Gestion.Aviso.Registrar := FALSE;
"DB11_INF".Gestion.Etapa := #ESPERA_ENTRE_AVISOS;
"DB11_INF".Gestion.Aviso.NumeroIntentosActual += 1;
END_IF;
// =============================================================================
#BORRAR_DATOS: #BORRAR_DATOS:
REGION BORRAR_DATOS
"DB11_INF".Gestion.Datos.Registrar := 0;
"DB11_INF".Gestion.Datos.Id := ''; "DB11_INF".Gestion.Datos := #t_InformeVacio;
"DB11_INF".Gestion.Datos.Tipo := 0;
"DB11_INF".Gestion.Datos.Codigo := ''; "DB11_INF".Gestion.Aviso.Registrar := 0;
"DB11_INF".Gestion.Datos.Fecha_1.Ano := 0; "DB11_INF".Gestion.Etapa := #REPOSO;
"DB11_INF".Gestion.Datos.Fecha_1.Mes := 0;
"DB11_INF".Gestion.Datos.Fecha_1.Dia := 0; END_REGION BORRAR_DATOS
"DB11_INF".Gestion.Datos.Fecha_1.DiaSemana := 0;
"DB11_INF".Gestion.Datos.Fecha_1.Hora := 0; // =============================================================================
"DB11_INF".Gestion.Datos.Fecha_1.Minuto := 0; // Etapa fallo
"DB11_INF".Gestion.Datos.Fecha_1.Segundo := 0;
"DB11_INF".Gestion.Datos.Fecha_1.NanoSegundo := 0;
"DB11_INF".Gestion.Datos.Fecha_2.Ano := 0;
"DB11_INF".Gestion.Datos.Fecha_2.Mes := 0;
"DB11_INF".Gestion.Datos.Fecha_2.Dia := 0;
"DB11_INF".Gestion.Datos.Fecha_2.DiaSemana := 0;
"DB11_INF".Gestion.Datos.Fecha_2.Hora := 0;
"DB11_INF".Gestion.Datos.Fecha_2.Minuto := 0;
"DB11_INF".Gestion.Datos.Fecha_2.Segundo := 0;
"DB11_INF".Gestion.Datos.Fecha_2.NanoSegundo := 0;
"DB11_INF".Gestion.Datos.Fecha_3.Ano := 0;
"DB11_INF".Gestion.Datos.Fecha_3.Mes := 0;
"DB11_INF".Gestion.Datos.Fecha_3.Dia := 0;
"DB11_INF".Gestion.Datos.Fecha_3.DiaSemana := 0;
"DB11_INF".Gestion.Datos.Fecha_3.Hora := 0;
"DB11_INF".Gestion.Datos.Fecha_3.Minuto := 0;
"DB11_INF".Gestion.Datos.Fecha_3.Segundo := 0;
"DB11_INF".Gestion.Datos.Fecha_3.NanoSegundo := 0;
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_1 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_2 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_3 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_4 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_5 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_6 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_7 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_8 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_9 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_10 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_11 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_12 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_13 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_14 :=
"DB11_INF".Buffer[#t_PosicionRegistro].CodString_15 := 0;
"DB11_INF".Gestion.Datos.Bool_1 :=
"DB11_INF".Gestion.Datos.Bool_2 :=
"DB11_INF".Gestion.Datos.Bool_3 :=
"DB11_INF".Gestion.Datos.Bool_4 :=
"DB11_INF".Gestion.Datos.Bool_5 :=
"DB11_INF".Gestion.Datos.Bool_6 :=
"DB11_INF".Gestion.Datos.Bool_7 :=
"DB11_INF".Gestion.Datos.Bool_8 :=
"DB11_INF".Gestion.Datos.Bool_9 :=
"DB11_INF".Gestion.Datos.Bool_10 :=
"DB11_INF".Gestion.Datos.Bool_11 :=
"DB11_INF".Gestion.Datos.Bool_12 :=
"DB11_INF".Gestion.Datos.Bool_13 :=
"DB11_INF".Gestion.Datos.Bool_14 :=
"DB11_INF".Gestion.Datos.Bool_15 :=
"DB11_INF".Gestion.Datos.Bool_16 :=
"DB11_INF".Gestion.Datos.Bool_17 :=
"DB11_INF".Gestion.Datos.Bool_18 :=
"DB11_INF".Gestion.Datos.Bool_19 :=
"DB11_INF".Gestion.Datos.Bool_20 :=
"DB11_INF".Gestion.Datos.Bool_21 :=
"DB11_INF".Gestion.Datos.Bool_22 :=
"DB11_INF".Gestion.Datos.Bool_23 :=
"DB11_INF".Gestion.Datos.Bool_24 :=
"DB11_INF".Gestion.Datos.Bool_25 :=
"DB11_INF".Gestion.Datos.Bool_26 :=
"DB11_INF".Gestion.Datos.Bool_27 :=
"DB11_INF".Gestion.Datos.Bool_28 :=
"DB11_INF".Gestion.Datos.Bool_29 :=
"DB11_INF".Gestion.Datos.Bool_30 :=
"DB11_INF".Gestion.Datos.Bool_31 :=
"DB11_INF".Gestion.Datos.Bool_32 := FALSE;
"DB11_INF".Gestion.Datos.Real_1 :=
"DB11_INF".Gestion.Datos.Real_2 :=
"DB11_INF".Gestion.Datos.Real_3 :=
"DB11_INF".Gestion.Datos.Real_4 :=
"DB11_INF".Gestion.Datos.Real_5 :=
"DB11_INF".Gestion.Datos.Real_6 :=
"DB11_INF".Gestion.Datos.Real_7 :=
"DB11_INF".Gestion.Datos.Real_8 :=
"DB11_INF".Gestion.Datos.Real_9 :=
"DB11_INF".Gestion.Datos.Real_10 :=
"DB11_INF".Gestion.Datos.Real_11 :=
"DB11_INF".Gestion.Datos.Real_12 :=
"DB11_INF".Gestion.Datos.Real_13 :=
"DB11_INF".Gestion.Datos.Real_14 :=
"DB11_INF".Gestion.Datos.Real_15 :=
"DB11_INF".Gestion.Datos.Real_16 :=
"DB11_INF".Gestion.Datos.Real_17 :=
"DB11_INF".Gestion.Datos.Real_18 :=
"DB11_INF".Gestion.Datos.Real_19 :=
"DB11_INF".Gestion.Datos.Real_20 := 0.0;
"DB11_INF".Gestion.Datos.Int_1 :=
"DB11_INF".Gestion.Datos.Int_2 :=
"DB11_INF".Gestion.Datos.Int_3 :=
"DB11_INF".Gestion.Datos.Int_4 :=
"DB11_INF".Gestion.Datos.Int_5 :=
"DB11_INF".Gestion.Datos.Int_6 :=
"DB11_INF".Gestion.Datos.Int_7 :=
"DB11_INF".Gestion.Datos.Int_8 :=
"DB11_INF".Gestion.Datos.Int_9 :=
"DB11_INF".Gestion.Datos.Int_10 :=
"DB11_INF".Gestion.Datos.Int_11 :=
"DB11_INF".Gestion.Datos.Int_12 :=
"DB11_INF".Gestion.Datos.Int_13 :=
"DB11_INF".Gestion.Datos.Int_14 :=
"DB11_INF".Gestion.Datos.Int_15 :=
"DB11_INF".Gestion.Datos.Int_16 :=
"DB11_INF".Gestion.Datos.Int_17 :=
"DB11_INF".Gestion.Datos.Int_18 :=
"DB11_INF".Gestion.Datos.Int_19 :=
"DB11_INF".Gestion.Datos.Int_20 := 0;
"DB11_INF".Gestion.Aviso.Registrar := 0;
"DB11_INF".Gestion.Etapa := #REPOSO;
// =============================================================================
#FALLO: #FALLO:
REGION FALLO
"FC8_ZC_TRZ_REGISTRO"(FechaHora := "DB1_SYS".FechaHoraActual,
Registrar := 1, // Registramos en trazabilidad el fallo de escritura de informe
Categoria := "TRZ_CAT_1_SYS", "FC8_ZC_TRZ_REGISTRO"(FechaHora := "DB1_SYS".FechaHoraActual,
User := '', Registrar := 1,
CodInt_1 := "TRZ_SYS_INF_ERR", Categoria := "TRZ_CAT_1_SYS",
CodInt_2 := 0, User := '',
CodInt_3 := 0, CodInt_1 := "TRZ_SYS_INF_ERR",
CodInt_4 := 0, CodInt_2 := 0,
CodInt_5 := 0, CodInt_3 := 0,
CodReal_1 := 0.0, CodInt_4 := 0,
CodReal_2 := 0.0); CodInt_5 := 0,
"DB11_INF".Gestion.Datos.Registrar := 0; CodReal_1 := 0.0,
"DB11_INF".Gestion.Etapa := #REPOSO; CodReal_2 := 0.0);
"DB11_INF".Gestion.Etapa := #BORRAR_DATOS;
END_REGION FALLO
END_CASE; END_CASE;
END_REGION END_REGION
END_NETWORK END_NETWORK
END_FUNCTION END_FUNCTION
@@ -13,6 +13,10 @@
es-ES: Indicador de registro encontrado es-ES: Indicador de registro encontrado
- id: MLC_3wk - id: MLC_3wk
es-ES: Variable para su uso en programa es-ES: Variable para su uso en programa
- id: MLC_4uy
es-ES: Indice superior de Buffer
- id: MLC_43x
es-ES: Indice inferior de Buffer
- id: MLC_PN - id: MLC_PN
es-ES: Etapa reposo es-ES: Etapa reposo
- id: MLC_339 - id: MLC_339
@@ -10,255 +10,15 @@
S7_Version := "1.0" S7_Version := "1.0"
} }
FUNCTION "FC12_ZC_INF_REGISTRO" : Void FUNCTION "FC12_ZC_INF_REGISTRO" : Void
VAR_INPUT VAR_IN_OUT
{ S7_MLC := "MLC_4KF" } Datos : _.UDT_ZC_INF_DATOS;
Registrar : USInt;
{ S7_MLC := "MLC_3nx" }
Tipo : Int;
{ S7_MLC := "MLC_55V" }
Codigo : String;
{ S7_MLC := "MLC_45d" }
Fecha_1_Ano : UInt;
{ S7_MLC := "MLC_3rV" }
Fecha_1_Mes : USInt;
{ S7_MLC := "MLC_42U" }
Fecha_1_Dia : USInt;
{ S7_MLC := "MLC_3AZ" }
Fecha_1_DiaSemana : USInt;
{ S7_MLC := "MLC_3eG" }
Fecha_1_Hora : USInt;
{ S7_MLC := "MLC_P8" }
Fecha_1_Minuto : USInt;
{ S7_MLC := "MLC_x5" }
Fecha_1_Segundo : USInt;
{ S7_MLC := "MLC_3nt" }
Fecha_1_NanoSegundo : UDInt;
{ S7_MLC := "MLC_hh" }
Fecha_2_Ano : UInt;
{ S7_MLC := "MLC_4Jz" }
Fecha_2_Mes : USInt;
{ S7_MLC := "MLC_3As" }
Fecha_2_Dia : USInt;
{ S7_MLC := "MLC_pv" }
Fecha_2_DiaSemana : USInt;
{ S7_MLC := "MLC_4aA" }
Fecha_2_Hora : USInt;
{ S7_MLC := "MLC_4qf" }
Fecha_2_Minuto : USInt;
{ S7_MLC := "MLC_4dU" }
Fecha_2_Segundo : USInt;
{ S7_MLC := "MLC_3j8" }
Fecha_2_NanoSegundo : UDInt;
{ S7_MLC := "MLC_4H3" }
Fecha_3_Ano : UInt;
{ S7_MLC := "MLC_4km" }
Fecha_3_Mes : USInt;
{ S7_MLC := "MLC_5C7" }
Fecha_3_Dia : USInt;
{ S7_MLC := "MLC_49X" }
Fecha_3_DiaSemana : USInt;
{ S7_MLC := "MLC_Kx" }
Fecha_3_Hora : USInt;
{ S7_MLC := "MLC_vZ" }
Fecha_3_Minuto : USInt;
{ S7_MLC := "MLC_3cA" }
Fecha_3_Segundo : USInt;
{ S7_MLC := "MLC_4JV" }
Fecha_3_NanoSegundo : UDInt;
{ S7_MLC := "MLC_4gG" }
Fecha_4_Ano : UInt;
{ S7_MLC := "MLC_WV" }
Fecha_4_Mes : USInt;
{ S7_MLC := "MLC_4b5" }
Fecha_4_Dia : USInt;
{ S7_MLC := "MLC_45b" }
Fecha_4_DiaSemana : USInt;
{ S7_MLC := "MLC_3mF" }
Fecha_4_Hora : USInt;
{ S7_MLC := "MLC_Qx" }
Fecha_4_Minuto : USInt;
{ S7_MLC := "MLC_3Yc" }
Fecha_4_Segundo : USInt;
{ S7_MLC := "MLC_3mw" }
Fecha_4_NanoSegundo : UDInt;
{ S7_MLC := "MLC_4ix" }
CodString_1 : Int;
{ S7_MLC := "MLC_Wm" }
CodString_2 : Int;
{ S7_MLC := "MLC_4Sm" }
CodString_3 : Int;
{ S7_MLC := "MLC_4x7" }
CodString_4 : Int;
{ S7_MLC := "MLC_3PX" }
CodString_5 : Int;
{ S7_MLC := "MLC_3HC" }
CodString_6 : Int;
{ S7_MLC := "MLC_3zx" }
CodString_7 : Int;
{ S7_MLC := "MLC_L7" }
CodString_8 : Int;
{ S7_MLC := "MLC_Pv" }
CodString_9 : Int;
{ S7_MLC := "MLC_4jC" }
CodString_10 : Int;
{ S7_MLC := "MLC_3G3" }
CodString_11 : Int;
{ S7_MLC := "MLC_43E" }
CodString_12 : Int;
{ S7_MLC := "MLC_Rx" }
CodString_13 : Int;
{ S7_MLC := "MLC_4rE" }
CodString_14 : Int;
{ S7_MLC := "MLC_4bw" }
CodString_15 : Int;
{ S7_MLC := "MLC_3mu" }
Bool_1 : Bool;
{ S7_MLC := "MLC_fQ" }
Bool_2 : Bool;
{ S7_MLC := "MLC_XW" }
Bool_3 : Bool;
{ S7_MLC := "MLC_4kf" }
Bool_4 : Bool;
{ S7_MLC := "MLC_Rc" }
Bool_5 : Bool;
{ S7_MLC := "MLC_4Kg" }
Bool_6 : Bool;
{ S7_MLC := "MLC_4ry" }
Bool_7 : Bool;
{ S7_MLC := "MLC_55Q" }
Bool_8 : Bool;
{ S7_MLC := "MLC_3Tv" }
Bool_9 : Bool;
{ S7_MLC := "MLC_ZC" }
Bool_10 : Bool;
{ S7_MLC := "MLC_4uY" }
Bool_11 : Bool;
{ S7_MLC := "MLC_3es" }
Bool_12 : Bool;
{ S7_MLC := "MLC_3Td" }
Bool_13 : Bool;
{ S7_MLC := "MLC_yc" }
Bool_14 : Bool;
{ S7_MLC := "MLC_462" }
Bool_15 : Bool;
{ S7_MLC := "MLC_MV" }
Bool_16 : Bool;
{ S7_MLC := "MLC_cc" }
Bool_17 : Bool;
{ S7_MLC := "MLC_36E" }
Bool_18 : Bool;
{ S7_MLC := "MLC_4ZV" }
Bool_19 : Bool;
{ S7_MLC := "MLC_3HX" }
Bool_20 : Bool;
{ S7_MLC := "MLC_4PE" }
Bool_21 : Bool;
{ S7_MLC := "MLC_hj" }
Bool_22 : Bool;
{ S7_MLC := "MLC_4sw" }
Bool_23 : Bool;
{ S7_MLC := "MLC_fS" }
Bool_24 : Bool;
{ S7_MLC := "MLC_3Kg" }
Bool_25 : Bool;
{ S7_MLC := "MLC_36g" }
Bool_26 : Bool;
{ S7_MLC := "MLC_5Br" }
Bool_27 : Bool;
{ S7_MLC := "MLC_45U" }
Bool_28 : Bool;
{ S7_MLC := "MLC_mK" }
Bool_29 : Bool;
{ S7_MLC := "MLC_4s7" }
Bool_30 : Bool;
{ S7_MLC := "MLC_4mU" }
Bool_31 : Bool;
{ S7_MLC := "MLC_4CP" }
Bool_32 : Bool;
{ S7_MLC := "MLC_53a" }
Real_1 : Real;
{ S7_MLC := "MLC_378" }
Real_2 : Real;
{ S7_MLC := "MLC_392" }
Real_3 : Real;
{ S7_MLC := "MLC_3i5" }
Real_4 : Real;
{ S7_MLC := "MLC_3Zb" }
Real_5 : Real;
{ S7_MLC := "MLC_qq" }
Real_6 : Real;
{ S7_MLC := "MLC_3Sr" }
Real_7 : Real;
{ S7_MLC := "MLC_4en" }
Real_8 : Real;
{ S7_MLC := "MLC_55Y" }
Real_9 : Real;
{ S7_MLC := "MLC_dw" }
Real_10 : Real;
{ S7_MLC := "MLC_3Ji" }
Real_11 : Real;
{ S7_MLC := "MLC_4hk" }
Real_12 : Real;
{ S7_MLC := "MLC_3fY" }
Real_13 : Real;
{ S7_MLC := "MLC_4nt" }
Real_14 : Real;
{ S7_MLC := "MLC_sC" }
Real_15 : Real;
{ S7_MLC := "MLC_4Y3" }
Real_16 : Real;
{ S7_MLC := "MLC_3WU" }
Real_17 : Real;
{ S7_MLC := "MLC_4hZ" }
Real_18 : Real;
{ S7_MLC := "MLC_xG" }
Real_19 : Real;
{ S7_MLC := "MLC_3Gr" }
Real_20 : Real;
{ S7_MLC := "MLC_353" }
Int_1 : Int;
{ S7_MLC := "MLC_3tZ" }
Int_2 : Int;
{ S7_MLC := "MLC_YZ" }
Int_3 : Int;
{ S7_MLC := "MLC_3Q2" }
Int_4 : Int;
{ S7_MLC := "MLC_z3" }
Int_5 : Int;
{ S7_MLC := "MLC_54d" }
Int_6 : Int;
{ S7_MLC := "MLC_3kq" }
Int_7 : Int;
{ S7_MLC := "MLC_4XV" }
Int_8 : Int;
{ S7_MLC := "MLC_4LQ" }
Int_9 : Int;
{ S7_MLC := "MLC_38N" }
Int_10 : Int;
{ S7_MLC := "MLC_3nN" }
Int_11 : Int;
{ S7_MLC := "MLC_yH" }
Int_12 : Int;
{ S7_MLC := "MLC_342" }
Int_13 : Int;
{ S7_MLC := "MLC_3pr" }
Int_14 : Int;
{ S7_MLC := "MLC_gN" }
Int_15 : Int;
{ S7_MLC := "MLC_54B" }
Int_16 : Int;
{ S7_MLC := "MLC_fn" }
Int_17 : Int;
{ S7_MLC := "MLC_3yS" }
Int_18 : Int;
{ S7_MLC := "MLC_4yL" }
Int_19 : Int;
{ S7_MLC := "MLC_4pv" }
Int_20 : Int;
END_VAR END_VAR
VAR_TEMP VAR_TEMP
t_dummy : Int; t_dummy : Int;
t_fecha_vacia : DTL; t_fecha_vacia : DTL;
t_IndiceInferior : Int;
t_IndiceSuperior : Int;
t_NuevoInforme : _.UDT_ZC_INF_DATOS;
END_VAR END_VAR
{ S7_Language := "SCL" } { S7_Language := "SCL" }
@@ -314,21 +74,28 @@ FUNCTION "FC12_ZC_INF_REGISTRO" : Void
// ========================================================================================================== // ==========================================================================================================
REGION COMPROBACION_HABILITACION REGION COMPROBACION_N_MAX
// Si no esta habilitado los informes, salimos de la funcion. // Si no hay buffer habilitado salimos inmediatamente
IF NOT "DB11_INF".Gestion.HabilitacionGeneral THEN IF "N_MAX_INF_BUFFER" <= 0 OR NOT "DB11_INF".Gestion.HabilitacionGeneral THEN
RETURN; RETURN;
END_IF; END_IF;
END_REGION COMPROBACION_HABILITACION // Traspaso de N_MAX a variable temporal para evitar fallos de compilacion
#t_IndiceInferior := 1;
#t_IndiceSuperior := "N_MAX_INF_BUFFER";
END_REGION COMPROBACION_N_MAX
// ========================================================================================================== // ==========================================================================================================
REGION DESPLAZAMIENTO_DE_DATOS REGION DESPLAZAMIENTO_DE_DATOS
// Desplazamos los datos del buffer una posicion hacia abajo // Desplazamiento de datos solo si el tamaño del buffer lo permite (N > 1)
#t_dummy := MOVE_BLK_VARIANT(SRC := "DB11_INF".Buffer, COUNT := INT_TO_UDINT(("N_MAX_INF_BUFFER")), SRC_INDEX := 0, DEST_INDEX := 1, DEST => "DB11_INF".Buffer); IF #t_IndiceSuperior > 1 THEN
// Desplazamos los datos una posicion hacia abajo
#t_dummy := MOVE_BLK_VARIANT(SRC := "DB11_INF".Buffer, COUNT := INT_TO_UDINT(#t_IndiceSuperior - 1), SRC_INDEX := 1, DEST_INDEX := 2, DEST => "DB11_INF".Buffer);
END_IF;
END_REGION DESPLAZAMIENTO_DE_DATOS END_REGION DESPLAZAMIENTO_DE_DATOS
@@ -337,153 +104,160 @@ FUNCTION "FC12_ZC_INF_REGISTRO" : Void
REGION GESTION_REGISTRO_INFORME REGION GESTION_REGISTRO_INFORME
// Grabamos el nuevo registro // Grabamos el nuevo registro
"DB11_INF".Buffer[0].Registrar := #Registrar; #t_NuevoInforme.Registrar := #Datos.Registrar;
"DB11_INF".Buffer[0].Id := "FC15006_ZC_DTL_TO_STRING"(FechaDTL := "DB1_SYS".FechaHoraActual, Formato := 3); #t_NuevoInforme.Id := 'POR DEFINIR';
"DB11_INF".Buffer[0].Tipo := #Tipo; #t_NuevoInforme.Tipo := #Datos.Tipo;
"DB11_INF".Buffer[0].Codigo := #Codigo; #t_NuevoInforme.Codigo := #Datos.Codigo;
IF #Fecha_1_Ano = 0 THEN IF #Datos.Fecha_1.Ano = 0 THEN
"DB11_INF".Buffer[0].Fecha_1.Ano := 1970; #t_NuevoInforme.Fecha_1.Ano := 1970;
"DB11_INF".Buffer[0].Fecha_1.Mes := 1; #t_NuevoInforme.Fecha_1.Mes := 1;
"DB11_INF".Buffer[0].Fecha_1.Dia := 1; #t_NuevoInforme.Fecha_1.Dia := 1;
"DB11_INF".Buffer[0].Fecha_1.DiaSemana := 5; #t_NuevoInforme.Fecha_1.DiaSemana := 5;
ELSE ELSE
"DB11_INF".Buffer[0].Fecha_1.Ano := #Fecha_1_Ano; #t_NuevoInforme.Fecha_1.Ano := #Datos.#Fecha_1.Ano;
"DB11_INF".Buffer[0].Fecha_1.Mes := #Fecha_1_Mes; #t_NuevoInforme.Fecha_1.Mes := #Datos.#Fecha_1.Mes;
"DB11_INF".Buffer[0].Fecha_1.Dia := #Fecha_1_Dia; #t_NuevoInforme.Fecha_1.Dia := #Datos.#Fecha_1.Dia;
"DB11_INF".Buffer[0].Fecha_1.DiaSemana := #Fecha_1_DiaSemana; #t_NuevoInforme.Fecha_1.DiaSemana := #Datos.#Fecha_1.DiaSemana;
END_IF; END_IF;
"DB11_INF".Buffer[0].Fecha_1.Hora := #Fecha_1_Hora; #t_NuevoInforme.Fecha_1.Hora := #Datos.#Fecha_1.Hora;
"DB11_INF".Buffer[0].Fecha_1.Minuto := #Fecha_1_Minuto; #t_NuevoInforme.Fecha_1.Minuto := #Datos.#Fecha_1.Minuto;
"DB11_INF".Buffer[0].Fecha_1.Segundo := #Fecha_1_Segundo; #t_NuevoInforme.Fecha_1.Segundo := #Datos.#Fecha_1.Segundo;
"DB11_INF".Buffer[0].Fecha_1.NanoSegundo := #Fecha_1_NanoSegundo; #t_NuevoInforme.Fecha_1.NanoSegundo := #Datos.#Fecha_1.NanoSegundo;
IF #Fecha_2_Ano = 0 THEN IF #Datos.#Fecha_2.Ano = 0 THEN
"DB11_INF".Buffer[0].Fecha_2.Ano := 1970; #t_NuevoInforme.Fecha_2.Ano := 1970;
"DB11_INF".Buffer[0].Fecha_2.Mes := 1; #t_NuevoInforme.Fecha_2.Mes := 1;
"DB11_INF".Buffer[0].Fecha_2.Dia := 1; #t_NuevoInforme.Fecha_2.Dia := 1;
"DB11_INF".Buffer[0].Fecha_2.DiaSemana := 5; #t_NuevoInforme.Fecha_2.DiaSemana := 5;
ELSE ELSE
"DB11_INF".Buffer[0].Fecha_2.Ano := #Fecha_2_Ano; #t_NuevoInforme.Fecha_2.Ano := #Datos.Fecha_2.Ano;
"DB11_INF".Buffer[0].Fecha_2.Mes := #Fecha_2_Mes; #t_NuevoInforme.Fecha_2.Mes := #Datos.Fecha_2.Mes;
"DB11_INF".Buffer[0].Fecha_2.Dia := #Fecha_2_Dia; #t_NuevoInforme.Fecha_2.Dia := #Datos.Fecha_2.Dia;
"DB11_INF".Buffer[0].Fecha_2.DiaSemana := #Fecha_2_DiaSemana; #t_NuevoInforme.Fecha_2.DiaSemana := #Datos.Fecha_2.DiaSemana;
END_IF; END_IF;
"DB11_INF".Buffer[0].Fecha_2.Hora := #Fecha_2_Hora; #t_NuevoInforme.Fecha_2.Hora := #Datos.Fecha_2.Hora;
"DB11_INF".Buffer[0].Fecha_2.Minuto := #Fecha_2_Minuto; #t_NuevoInforme.Fecha_2.Minuto := #Datos.Fecha_2.Minuto;
"DB11_INF".Buffer[0].Fecha_2.Segundo := #Fecha_2_Segundo; #t_NuevoInforme.Fecha_2.Segundo := #Datos.Fecha_2.Segundo;
"DB11_INF".Buffer[0].Fecha_2.NanoSegundo := #Fecha_2_NanoSegundo; #t_NuevoInforme.Fecha_2.NanoSegundo := #Datos.Fecha_2.NanoSegundo;
IF #Fecha_3_Ano = 0 THEN IF #Datos.#Fecha_3.Ano = 0 THEN
"DB11_INF".Buffer[0].Fecha_3.Ano := 1970; #t_NuevoInforme.Fecha_3.Ano := 1970;
"DB11_INF".Buffer[0].Fecha_3.Mes := 1; #t_NuevoInforme.Fecha_3.Mes := 1;
"DB11_INF".Buffer[0].Fecha_3.Dia := 1; #t_NuevoInforme.Fecha_3.Dia := 1;
"DB11_INF".Buffer[0].Fecha_3.DiaSemana := 5; #t_NuevoInforme.Fecha_3.DiaSemana := 5;
ELSE ELSE
"DB11_INF".Buffer[0].Fecha_3.Ano := #Fecha_3_Ano; #t_NuevoInforme.Fecha_3.Ano := #Datos.Fecha_3.Ano;
"DB11_INF".Buffer[0].Fecha_3.Mes := #Fecha_3_Mes; #t_NuevoInforme.Fecha_3.Mes := #Datos.Fecha_3.Mes;
"DB11_INF".Buffer[0].Fecha_3.Dia := #Fecha_3_Dia; #t_NuevoInforme.Fecha_3.Dia := #Datos.Fecha_3.Dia;
"DB11_INF".Buffer[0].Fecha_3.DiaSemana := #Fecha_3_DiaSemana; #t_NuevoInforme.Fecha_3.DiaSemana := #Datos.Fecha_3.DiaSemana;
END_IF; END_IF;
IF #Fecha_4_Ano = 0 THEN #t_NuevoInforme.Fecha_3.Hora := #Datos.Fecha_3.Hora;
"DB11_INF".Buffer[0].Fecha_4.Ano := 1970; #t_NuevoInforme.Fecha_3.Minuto := #Datos.Fecha_3.Minuto;
"DB11_INF".Buffer[0].Fecha_4.Mes := 1; #t_NuevoInforme.Fecha_3.Segundo := #Datos.Fecha_3.Segundo;
"DB11_INF".Buffer[0].Fecha_4.Dia := 1; #t_NuevoInforme.Fecha_3.NanoSegundo := #Datos.Fecha_3.NanoSegundo;
"DB11_INF".Buffer[0].Fecha_4.DiaSemana := 5; IF #Datos.Fecha_4.Ano = 0 THEN
#t_NuevoInforme.Fecha_4.Ano := 1970;
#t_NuevoInforme.Fecha_4.Mes := 1;
#t_NuevoInforme.Fecha_4.Dia := 1;
#t_NuevoInforme.Fecha_4.DiaSemana := 5;
ELSE ELSE
"DB11_INF".Buffer[0].Fecha_4.Ano := #Fecha_4_Ano; #t_NuevoInforme.Fecha_4.Ano := #Datos.Fecha_4.Ano;
"DB11_INF".Buffer[0].Fecha_4.Mes := #Fecha_4_Mes; #t_NuevoInforme.Fecha_4.Mes := #Datos.Fecha_4.Mes;
"DB11_INF".Buffer[0].Fecha_4.Dia := #Fecha_4_Dia; #t_NuevoInforme.Fecha_4.Dia := #Datos.Fecha_4.Dia;
"DB11_INF".Buffer[0].Fecha_4.DiaSemana := #Fecha_4_DiaSemana; #t_NuevoInforme.Fecha_4.DiaSemana := #Datos.Fecha_4.DiaSemana;
END_IF; END_IF;
"DB11_INF".Buffer[0].Fecha_3.Hora := #Fecha_3_Hora; #t_NuevoInforme.Fecha_4.Hora := #Datos.Fecha_4.Hora;
"DB11_INF".Buffer[0].Fecha_3.Minuto := #Fecha_3_Minuto; #t_NuevoInforme.Fecha_4.Minuto := #Datos.Fecha_4.Minuto;
"DB11_INF".Buffer[0].Fecha_3.Segundo := #Fecha_3_Segundo; #t_NuevoInforme.Fecha_4.Segundo := #Datos.Fecha_4.Segundo;
"DB11_INF".Buffer[0].Fecha_3.NanoSegundo := #Fecha_3_NanoSegundo; #t_NuevoInforme.Fecha_4.NanoSegundo := #Datos.Fecha_4.NanoSegundo;
"DB11_INF".Buffer[0].CodString_1 := #CodString_1; #t_NuevoInforme.CodString_1 := #Datos.CodString_1;
"DB11_INF".Buffer[0].CodString_2 := #CodString_2; #t_NuevoInforme.CodString_2 := #Datos.CodString_2;
"DB11_INF".Buffer[0].CodString_3 := #CodString_3; #t_NuevoInforme.CodString_3 := #Datos.CodString_3;
"DB11_INF".Buffer[0].CodString_4 := #CodString_4; #t_NuevoInforme.CodString_4 := #Datos.CodString_4;
"DB11_INF".Buffer[0].CodString_5 := #CodString_5; #t_NuevoInforme.CodString_5 := #Datos.CodString_5;
"DB11_INF".Buffer[0].CodString_6 := #CodString_6; #t_NuevoInforme.CodString_6 := #Datos.CodString_6;
"DB11_INF".Buffer[0].CodString_7 := #CodString_7; #t_NuevoInforme.CodString_7 := #Datos.CodString_7;
"DB11_INF".Buffer[0].CodString_8 := #CodString_8; #t_NuevoInforme.CodString_8 := #Datos.CodString_8;
"DB11_INF".Buffer[0].CodString_9 := #CodString_9; #t_NuevoInforme.CodString_9 := #Datos.CodString_9;
"DB11_INF".Buffer[0].CodString_10 := #CodString_10; #t_NuevoInforme.CodString_10 := #Datos.CodString_10;
"DB11_INF".Buffer[0].CodString_11 := #CodString_11; #t_NuevoInforme.CodString_11 := #Datos.CodString_11;
"DB11_INF".Buffer[0].CodString_12 := #CodString_12; #t_NuevoInforme.CodString_12 := #Datos.CodString_12;
"DB11_INF".Buffer[0].CodString_13 := #CodString_13; #t_NuevoInforme.CodString_13 := #Datos.CodString_13;
"DB11_INF".Buffer[0].CodString_14 := #CodString_14; #t_NuevoInforme.CodString_14 := #Datos.CodString_14;
"DB11_INF".Buffer[0].CodString_15 := #CodString_15; #t_NuevoInforme.CodString_15 := #Datos.CodString_15;
"DB11_INF".Buffer[0].Bool_1 := #Bool_1; #t_NuevoInforme.Bool_1 := #Datos.Bool_1;
"DB11_INF".Buffer[0].Bool_2 := #Bool_2; #t_NuevoInforme.Bool_2 := #Datos.Bool_2;
"DB11_INF".Buffer[0].Bool_3 := #Bool_3; #t_NuevoInforme.Bool_3 := #Datos.Bool_3;
"DB11_INF".Buffer[0].Bool_4 := #Bool_4; #t_NuevoInforme.Bool_4 := #Datos.Bool_4;
"DB11_INF".Buffer[0].Bool_5 := #Bool_5; #t_NuevoInforme.Bool_5 := #Datos.Bool_5;
"DB11_INF".Buffer[0].Bool_6 := #Bool_6; #t_NuevoInforme.Bool_6 := #Datos.Bool_6;
"DB11_INF".Buffer[0].Bool_7 := #Bool_7; #t_NuevoInforme.Bool_7 := #Datos.Bool_7;
"DB11_INF".Buffer[0].Bool_8 := #Bool_8; #t_NuevoInforme.Bool_8 := #Datos.Bool_8;
"DB11_INF".Buffer[0].Bool_9 := #Bool_9; #t_NuevoInforme.Bool_9 := #Datos.Bool_9;
"DB11_INF".Buffer[0].Bool_10 := #Bool_10; #t_NuevoInforme.Bool_10 := #Datos.Bool_10;
"DB11_INF".Buffer[0].Bool_11 := #Bool_11; #t_NuevoInforme.Bool_11 := #Datos.Bool_11;
"DB11_INF".Buffer[0].Bool_12 := #Bool_12; #t_NuevoInforme.Bool_12 := #Datos.Bool_12;
"DB11_INF".Buffer[0].Bool_13 := #Bool_13; #t_NuevoInforme.Bool_13 := #Datos.Bool_13;
"DB11_INF".Buffer[0].Bool_14 := #Bool_14; #t_NuevoInforme.Bool_14 := #Datos.Bool_14;
"DB11_INF".Buffer[0].Bool_15 := #Bool_15; #t_NuevoInforme.Bool_15 := #Datos.Bool_15;
"DB11_INF".Buffer[0].Bool_16 := #Bool_16; #t_NuevoInforme.Bool_16 := #Datos.Bool_16;
"DB11_INF".Buffer[0].Bool_17 := #Bool_17; #t_NuevoInforme.Bool_17 := #Datos.Bool_17;
"DB11_INF".Buffer[0].Bool_18 := #Bool_18; #t_NuevoInforme.Bool_18 := #Datos.Bool_18;
"DB11_INF".Buffer[0].Bool_19 := #Bool_19; #t_NuevoInforme.Bool_19 := #Datos.Bool_19;
"DB11_INF".Buffer[0].Bool_20 := #Bool_20; #t_NuevoInforme.Bool_20 := #Datos.Bool_20;
"DB11_INF".Buffer[0].Bool_21 := #Bool_21; #t_NuevoInforme.Bool_21 := #Datos.Bool_21;
"DB11_INF".Buffer[0].Bool_22 := #Bool_22; #t_NuevoInforme.Bool_22 := #Datos.Bool_22;
"DB11_INF".Buffer[0].Bool_23 := #Bool_23; #t_NuevoInforme.Bool_23 := #Datos.Bool_23;
"DB11_INF".Buffer[0].Bool_24 := #Bool_24; #t_NuevoInforme.Bool_24 := #Datos.Bool_24;
"DB11_INF".Buffer[0].Bool_25 := #Bool_25; #t_NuevoInforme.Bool_25 := #Datos.Bool_25;
"DB11_INF".Buffer[0].Bool_26 := #Bool_26; #t_NuevoInforme.Bool_26 := #Datos.Bool_26;
"DB11_INF".Buffer[0].Bool_27 := #Bool_27; #t_NuevoInforme.Bool_27 := #Datos.Bool_27;
"DB11_INF".Buffer[0].Bool_28 := #Bool_28; #t_NuevoInforme.Bool_28 := #Datos.Bool_28;
"DB11_INF".Buffer[0].Bool_29 := #Bool_29; #t_NuevoInforme.Bool_29 := #Datos.Bool_29;
"DB11_INF".Buffer[0].Bool_30 := #Bool_30; #t_NuevoInforme.Bool_30 := #Datos.Bool_30;
"DB11_INF".Buffer[0].Bool_31 := #Bool_31; #t_NuevoInforme.Bool_31 := #Datos.Bool_31;
"DB11_INF".Buffer[0].Bool_32 := #Bool_32; #t_NuevoInforme.Bool_32 := #Datos.Bool_32;
"DB11_INF".Buffer[0].Real_1 := #Real_1; #t_NuevoInforme.Real_1 := #Datos.Real_1;
"DB11_INF".Buffer[0].Real_2 := #Real_2; #t_NuevoInforme.Real_2 := #Datos.Real_2;
"DB11_INF".Buffer[0].Real_3 := #Real_3; #t_NuevoInforme.Real_3 := #Datos.Real_3;
"DB11_INF".Buffer[0].Real_4 := #Real_4; #t_NuevoInforme.Real_4 := #Datos.Real_4;
"DB11_INF".Buffer[0].Real_5 := #Real_5; #t_NuevoInforme.Real_5 := #Datos.Real_5;
"DB11_INF".Buffer[0].Real_6 := #Real_6; #t_NuevoInforme.Real_6 := #Datos.Real_6;
"DB11_INF".Buffer[0].Real_7 := #Real_7; #t_NuevoInforme.Real_7 := #Datos.Real_7;
"DB11_INF".Buffer[0].Real_8 := #Real_8; #t_NuevoInforme.Real_8 := #Datos.Real_8;
"DB11_INF".Buffer[0].Real_9 := #Real_9; #t_NuevoInforme.Real_9 := #Datos.Real_9;
"DB11_INF".Buffer[0].Real_10 := #Real_10; #t_NuevoInforme.Real_10 := #Datos.Real_10;
"DB11_INF".Buffer[0].Real_11 := #Real_11; #t_NuevoInforme.Real_11 := #Datos.Real_11;
"DB11_INF".Buffer[0].Real_12 := #Real_12; #t_NuevoInforme.Real_12 := #Datos.Real_12;
"DB11_INF".Buffer[0].Real_13 := #Real_13; #t_NuevoInforme.Real_13 := #Datos.Real_13;
"DB11_INF".Buffer[0].Real_14 := #Real_14; #t_NuevoInforme.Real_14 := #Datos.Real_14;
"DB11_INF".Buffer[0].Real_15 := #Real_15; #t_NuevoInforme.Real_15 := #Datos.Real_15;
"DB11_INF".Buffer[0].Real_16 := #Real_16; #t_NuevoInforme.Real_16 := #Datos.Real_16;
"DB11_INF".Buffer[0].Real_17 := #Real_17; #t_NuevoInforme.Real_17 := #Datos.Real_17;
"DB11_INF".Buffer[0].Real_18 := #Real_18; #t_NuevoInforme.Real_18 := #Datos.Real_18;
"DB11_INF".Buffer[0].Real_19 := #Real_19; #t_NuevoInforme.Real_19 := #Datos.Real_19;
"DB11_INF".Buffer[0].Real_20 := #Real_20; #t_NuevoInforme.Real_20 := #Datos.Real_20;
"DB11_INF".Buffer[0].Int_1 := #Int_1; #t_NuevoInforme.Int_1 := #Datos.Int_1;
"DB11_INF".Buffer[0].Int_2 := #Int_2; #t_NuevoInforme.Int_2 := #Datos.Int_2;
"DB11_INF".Buffer[0].Int_3 := #Int_3; #t_NuevoInforme.Int_3 := #Datos.Int_3;
"DB11_INF".Buffer[0].Int_4 := #Int_4; #t_NuevoInforme.Int_4 := #Datos.Int_4;
"DB11_INF".Buffer[0].Int_5 := #Int_5; #t_NuevoInforme.Int_5 := #Datos.Int_5;
"DB11_INF".Buffer[0].Int_6 := #Int_6; #t_NuevoInforme.Int_6 := #Datos.Int_6;
"DB11_INF".Buffer[0].Int_7 := #Int_7; #t_NuevoInforme.Int_7 := #Datos.Int_7;
"DB11_INF".Buffer[0].Int_8 := #Int_8; #t_NuevoInforme.Int_8 := #Datos.Int_8;
"DB11_INF".Buffer[0].Int_9 := #Int_9; #t_NuevoInforme.Int_9 := #Datos.Int_9;
"DB11_INF".Buffer[0].Int_10 := #Int_10; #t_NuevoInforme.Int_10 := #Datos.Int_10;
"DB11_INF".Buffer[0].Int_11 := #Int_11; #t_NuevoInforme.Int_11 := #Datos.Int_11;
"DB11_INF".Buffer[0].Int_12 := #Int_12; #t_NuevoInforme.Int_12 := #Datos.Int_12;
"DB11_INF".Buffer[0].Int_13 := #Int_13; #t_NuevoInforme.Int_13 := #Datos.Int_13;
"DB11_INF".Buffer[0].Int_14 := #Int_14; #t_NuevoInforme.Int_14 := #Datos.Int_14;
"DB11_INF".Buffer[0].Int_15 := #Int_15; #t_NuevoInforme.Int_15 := #Datos.Int_15;
"DB11_INF".Buffer[0].Int_16 := #Int_16; #t_NuevoInforme.Int_16 := #Datos.Int_16;
"DB11_INF".Buffer[0].Int_17 := #Int_17; #t_NuevoInforme.Int_17 := #Datos.Int_17;
"DB11_INF".Buffer[0].Int_18 := #Int_18; #t_NuevoInforme.Int_18 := #Datos.Int_18;
"DB11_INF".Buffer[0].Int_19 := #Int_19; #t_NuevoInforme.Int_19 := #Datos.Int_19;
"DB11_INF".Buffer[0].Int_20 := #Int_20; #t_NuevoInforme.Int_20 := #Datos.Int_20;
// Traspaso de datos al DB
"DB11_INF".Buffer[#t_IndiceInferior] := #t_NuevoInforme;
END_REGION GESTION_REGISTRO_INFORME END_REGION GESTION_REGISTRO_INFORME
@@ -3,247 +3,3 @@
es-ES: FC12_ZC_INFORME_REGISTRO es-ES: FC12_ZC_INFORME_REGISTRO
- id: MLC_4sY - id: MLC_4sY
es-ES: Funcion para almacenar una traza en el buffer de informes es-ES: Funcion para almacenar una traza en el buffer de informes
- id: MLC_4KF
es-ES: Orden registrar (0= no registrar / 1= registrar)
- id: MLC_3nx
es-ES: Tipo
- id: MLC_55V
es-ES: Codigo produccion
- id: MLC_45d
es-ES: Fecha 1 Año
- id: MLC_3rV
es-ES: Fecha 1 Mes
- id: MLC_42U
es-ES: Fecha 1 Dia
- id: MLC_3AZ
es-ES: Fecha 1 Dia de la semana
- id: MLC_3eG
es-ES: Fecha 1 Hora
- id: MLC_P8
es-ES: Fecha 1 Minuto
- id: MLC_x5
es-ES: Fecha 1 Segundo
- id: MLC_3nt
es-ES: Fecha 1 Nanosegundo
- id: MLC_hh
es-ES: Fecha 2 Año
- id: MLC_4Jz
es-ES: Fecha 2 Mes
- id: MLC_3As
es-ES: Fecha 2 Dia
- id: MLC_pv
es-ES: Fecha 2 Dia de la semana
- id: MLC_4aA
es-ES: Fecha 2 Hora
- id: MLC_4qf
es-ES: Fecha 2 Minuto
- id: MLC_4dU
es-ES: Fecha 2 Segundo
- id: MLC_3j8
es-ES: Fecha 2 Nanosegundo
- id: MLC_4H3
es-ES: Fecha 3 Año
- id: MLC_4km
es-ES: Fecha 3 Mes
- id: MLC_5C7
es-ES: Fecha 3 Dia
- id: MLC_49X
es-ES: Fecha 3 Dia de la semana
- id: MLC_Kx
es-ES: Fecha 3 Hora
- id: MLC_vZ
es-ES: Fecha 3 Minuto
- id: MLC_3cA
es-ES: Fecha 3 Segundo
- id: MLC_4JV
es-ES: Fecha 3 Nanosegundo
- id: MLC_4gG
es-ES: Fecha 4 Año
- id: MLC_WV
es-ES: Fecha 4 Mes
- id: MLC_4b5
es-ES: Fecha 4 Dia
- id: MLC_45b
es-ES: Fecha 4 Dia de la semana
- id: MLC_3mF
es-ES: Fecha 4 Hora
- id: MLC_Qx
es-ES: Fecha 4 Minuto
- id: MLC_3Yc
es-ES: Fecha 4 Segundo
- id: MLC_3mw
es-ES: Fecha 4 Nanosegundo
- id: MLC_4ix
es-ES: Codigo string 1
- id: MLC_Wm
es-ES: Codigo string 2
- id: MLC_4Sm
es-ES: Codigo string 3
- id: MLC_4x7
es-ES: Codigo string 4
- id: MLC_3PX
es-ES: Codigo string 5
- id: MLC_3HC
es-ES: Codigo string 6
- id: MLC_3zx
es-ES: Codigo string 7
- id: MLC_L7
es-ES: Codigo string 8
- id: MLC_Pv
es-ES: Codigo string 9
- id: MLC_4jC
es-ES: Codigo string 10
- id: MLC_3G3
es-ES: Codigo string 11
- id: MLC_43E
es-ES: Codigo string 12
- id: MLC_Rx
es-ES: Codigo string 13
- id: MLC_4rE
es-ES: Codigo string 14
- id: MLC_4bw
es-ES: Codigo string 15
- id: MLC_3mu
es-ES: Valor booleano 1
- id: MLC_fQ
es-ES: Valor booleano 2
- id: MLC_XW
es-ES: Valor booleano 3
- id: MLC_4kf
es-ES: Valor booleano 4
- id: MLC_Rc
es-ES: Valor booleano 5
- id: MLC_4Kg
es-ES: Valor booleano 6
- id: MLC_4ry
es-ES: Valor booleano 7
- id: MLC_55Q
es-ES: Valor booleano 8
- id: MLC_3Tv
es-ES: Valor booleano 9
- id: MLC_ZC
es-ES: Valor booleano 10
- id: MLC_4uY
es-ES: Valor booleano 11
- id: MLC_3es
es-ES: Valor booleano 12
- id: MLC_3Td
es-ES: Valor booleano 13
- id: MLC_yc
es-ES: Valor booleano 14
- id: MLC_462
es-ES: Valor booleano 15
- id: MLC_MV
es-ES: Valor booleano 16
- id: MLC_cc
es-ES: Valor booleano 17
- id: MLC_36E
es-ES: Valor booleano 18
- id: MLC_4ZV
es-ES: Valor booleano 19
- id: MLC_3HX
es-ES: Valor booleano 20
- id: MLC_4PE
es-ES: Valor booleano 21
- id: MLC_hj
es-ES: Valor booleano 22
- id: MLC_4sw
es-ES: Valor booleano 23
- id: MLC_fS
es-ES: Valor booleano 24
- id: MLC_3Kg
es-ES: Valor booleano 25
- id: MLC_36g
es-ES: Valor booleano 26
- id: MLC_5Br
es-ES: Valor booleano 27
- id: MLC_45U
es-ES: Valor booleano 28
- id: MLC_mK
es-ES: Valor booleano 29
- id: MLC_4s7
es-ES: Valor booleano 30
- id: MLC_4mU
es-ES: Valor booleano 31
- id: MLC_4CP
es-ES: Valor booleano 32
- id: MLC_53a
es-ES: Valor real 1
- id: MLC_378
es-ES: Valor real 2
- id: MLC_392
es-ES: Valor real 3
- id: MLC_3i5
es-ES: Valor real 4
- id: MLC_3Zb
es-ES: Valor real 5
- id: MLC_qq
es-ES: Valor real 6
- id: MLC_3Sr
es-ES: Valor real 7
- id: MLC_4en
es-ES: Valor real 8
- id: MLC_55Y
es-ES: Valor real 9
- id: MLC_dw
es-ES: Valor real 10
- id: MLC_3Ji
es-ES: Valor real 11
- id: MLC_4hk
es-ES: Valor real 12
- id: MLC_3fY
es-ES: Valor real 13
- id: MLC_4nt
es-ES: Valor real 14
- id: MLC_sC
es-ES: Valor real 15
- id: MLC_4Y3
es-ES: Valor real 16
- id: MLC_3WU
es-ES: Valor real 17
- id: MLC_4hZ
es-ES: Valor real 18
- id: MLC_xG
es-ES: Valor real 19
- id: MLC_3Gr
es-ES: Valor real 20
- id: MLC_353
es-ES: Valor entero 1
- id: MLC_3tZ
es-ES: Valor entero 2
- id: MLC_YZ
es-ES: Valor entero 3
- id: MLC_3Q2
es-ES: Valor entero 4
- id: MLC_z3
es-ES: Valor entero 5
- id: MLC_54d
es-ES: Valor entero 6
- id: MLC_3kq
es-ES: Valor entero 7
- id: MLC_4XV
es-ES: Valor entero 8
- id: MLC_4LQ
es-ES: Valor entero 9
- id: MLC_38N
es-ES: Valor entero 10
- id: MLC_3nN
es-ES: Valor entero 11
- id: MLC_yH
es-ES: Valor entero 12
- id: MLC_342
es-ES: Valor entero 13
- id: MLC_3pr
es-ES: Valor entero 14
- id: MLC_gN
es-ES: Valor entero 15
- id: MLC_54B
es-ES: Valor entero 16
- id: MLC_fn
es-ES: Valor entero 17
- id: MLC_3yS
es-ES: Valor entero 18
- id: MLC_4yL
es-ES: Valor entero 19
- id: MLC_4pv
es-ES: Valor entero 20
@@ -19,7 +19,6 @@ DATA_BLOCK DB7_TRZ
Gestion.HabilitacionGeneral := TRUE; Gestion.HabilitacionGeneral := TRUE;
Gestion.EstadoConexion := TRUE; Gestion.EstadoConexion := TRUE;
Gestion.OrdenIniciar := FALSE; Gestion.OrdenIniciar := FALSE;
Gestion.HabilitarCategoria[0] := TRUE;
Gestion.HabilitarCategoria[1] := TRUE; Gestion.HabilitarCategoria[1] := TRUE;
Gestion.HabilitarCategoria[2] := TRUE; Gestion.HabilitarCategoria[2] := TRUE;
Gestion.HabilitarCategoria[3] := TRUE; Gestion.HabilitarCategoria[3] := TRUE;
@@ -54,11 +53,20 @@ DATA_BLOCK DB7_TRZ
Gestion.Etapa := 0; Gestion.Etapa := 0;
Gestion.SP_Tiempo := 2; Gestion.SP_Tiempo := 2;
Gestion.TiempoActual := 0; Gestion.TiempoActual := 0;
{ S7_MLC := "MLC_4Ur" }
Gestion.Aviso.HabilitarHmiScada[0] := ();
{ S7_MLC := "MLC_46L" }
Gestion.Aviso.HabilitarHmiScada[1] := ();
{ S7_MLC := "MLC_Qi" }
Gestion.Aviso.GenerarTexto[0] := ();
{ S7_MLC := "MLC_4MW" }
Gestion.Aviso.GenerarTexto[1] := ();
{ S7_MLC := "MLC_QH" }
Gestion.Aviso.TextoGenerado[0] := ();
{ S7_MLC := "MLC_3wc" }
Gestion.Aviso.TextoGenerado[1] := ();
Buffer[0].Registrar := 0; Buffer[0].Registrar := 0;
Buffer[0].Categoria := 0; Buffer[0].Categoria := 0;
Buffer[0].User := ''; Buffer[0].User := '';
Buffer[1].Registrar := 0;
Buffer[1].Categoria := 0;
Buffer[1].User := '';
END_DATA_BLOCK END_DATA_BLOCK
@@ -3,3 +3,15 @@
es-ES: DB7_TRAZA es-ES: DB7_TRAZA
- id: MLC_4Jb - id: MLC_4Jb
es-ES: Bloque de datos encargado de la trazabilidad. es-ES: Bloque de datos encargado de la trazabilidad.
- id: MLC_4Ur
es-ES: NO USAR
- id: MLC_46L
es-ES: .
- id: MLC_Qi
es-ES: NO USAR
- id: MLC_4MW
es-ES: .
- id: MLC_QH
es-ES: NO USAR
- id: MLC_3wc
es-ES: .
@@ -23,6 +23,16 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
t_RegistroEncontrado : Bool; t_RegistroEncontrado : Bool;
{ S7_MLC := "MLC_4Rw" } { S7_MLC := "MLC_4Rw" }
t_TextoGenerado : Bool; t_TextoGenerado : Bool;
{ S7_MLC := "MLC_4NM" }
t_IndiceSuperiorBuffer : Int;
{ S7_MLC := "MLC_pi" }
t_IndiceInferiorBuffer : Int;
{ S7_MLC := "MLC_3R4" }
t_IndiceSuperiorScada : Int;
{ S7_MLC := "MLC_4T7" }
t_IndiceInferiorScada : Int;
t_TrazaVacia : _.UDT_ZC_TRZ_DATOS;
t_Avisos : Array[0..31] of Bool;
END_VAR END_VAR
VAR CONSTANT VAR CONSTANT
{ S7_MLC := "MLC_3jc" } { S7_MLC := "MLC_3jc" }
@@ -83,7 +93,7 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
|------|-----------| |------|-----------|
| FC | - | | FC | - |
| FB | - | | FB | - |
| DB | `DB7_TRAZA` | | DB | `DB7_TRZ` |
| UDT | - | | UDT | - |
--- ---
@@ -97,6 +107,23 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
END_REGION DESCRIPCION END_REGION DESCRIPCION
// ==========================================================================================================
REGION COMPROBACION_N_MAX
// Si no hay buffer habilitado salimos inmediatamente
IF "N_MAX_TRAZA_BUFFER" <= 0 THEN
RETURN;
END_IF;
// Traspaso de N_MAX a variable temporal para evitar fallos de compilacion
#t_IndiceInferiorBuffer := 1;
#t_IndiceSuperiorBuffer := "N_MAX_TRAZA_BUFFER";
#t_IndiceInferiorScada := 1;
#t_IndiceSuperiorScada := "N_MAX_SCADA";
END_REGION COMPROBACION_N_MAX
// ========================================================================================================== // ==========================================================================================================
REGION GESTION_TRAZA REGION GESTION_TRAZA
@@ -105,10 +132,10 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
// Si la gestion esta habilitada, se busca el ultimo registro y se mueve a la variable de gestion de avisos para // Si la gestion esta habilitada, se busca el ultimo registro y se mueve a la variable de gestion de avisos para
// los sistemas de supervision // los sistemas de supervision
IF "DB7_TRZ".Gestion.HabilitacionGeneral AND #Pulso1Seg AND "DB7_TRZ".Gestion.Etapa = #REPOSO THEN IF "DB7_TRZ".Gestion.HabilitacionGeneral AND "DB7_TRZ".Gestion.Etapa = #REPOSO THEN
// Buscamos el ultimo registro // Buscamos el ultimo registro
FOR #for_i := "N_MAX_TRAZA_BUFFER" TO 0 BY -1 DO FOR #for_i := #t_IndiceSuperiorBuffer TO #t_IndiceInferiorBuffer BY -1 DO
// Registro encontrado // Registro encontrado
IF "DB7_TRZ".Buffer[#for_i].Registrar = 1 THEN IF "DB7_TRZ".Buffer[#for_i].Registrar = 1 THEN
@@ -119,7 +146,6 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
END_FOR; END_FOR;
// Si hemos encontrado el registro, copiamos a variable estatica // Si hemos encontrado el registro, copiamos a variable estatica
IF #t_RegistroEncontrado THEN IF #t_RegistroEncontrado THEN
@@ -127,17 +153,7 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
"DB7_TRZ".Gestion.Aviso.Datos := "DB7_TRZ".Buffer[#t_PosicionRegistro]; "DB7_TRZ".Gestion.Aviso.Datos := "DB7_TRZ".Buffer[#t_PosicionRegistro];
// Quitamos el registro del buffer // Quitamos el registro del buffer
"DB7_TRZ".Buffer[#t_PosicionRegistro].Registrar := 0; "DB7_TRZ".Buffer[#t_PosicionRegistro] := #t_TrazaVacia;
"DB7_TRZ".Buffer[#t_PosicionRegistro].Categoria :=
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodInt_1 :=
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodInt_2 :=
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodInt_3 :=
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodInt_4 :=
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodInt_5 := 0;
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodReal_1 :=
"DB7_TRZ".Buffer[#t_PosicionRegistro].CodReal_2 := 0.0;
"DB7_TRZ".Buffer[#t_PosicionRegistro].TimeStamp := DTL#1970-01-01-00:00:00;
"DB7_TRZ".Buffer[#t_PosicionRegistro].User := '';
END_IF; END_IF;
@@ -177,7 +193,7 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
// ============================================================================= // =============================================================================
// Etapa reposo // Etapa reposo
#REPOSO: #REPOSO:
REGION #REPOSO REGION REPOSO
// Con orden de iniciar, vamos a etapa comprobaciones iniciales // Con orden de iniciar, vamos a etapa comprobaciones iniciales
IF "DB7_TRZ".Gestion.OrdenIniciar THEN IF "DB7_TRZ".Gestion.OrdenIniciar THEN
@@ -185,12 +201,12 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
"DB7_TRZ".Gestion.OrdenIniciar := FALSE; "DB7_TRZ".Gestion.OrdenIniciar := FALSE;
END_IF; END_IF;
END_REGION END_REGION REPOSO
// ============================================================================= // =============================================================================
// Etapa comprobaciones iniciales // Etapa comprobaciones iniciales
#COMPROBACION_INICIAL: #COMPROBACION_INICIAL:
REGION #COMPROBACION_INICIAL REGION COMPROBACION_INICIAL
// Si el registro actual no tiene orden de registrar, lo borramos yendo a etapa borrar datos // Si el registro actual no tiene orden de registrar, lo borramos yendo a etapa borrar datos
IF "DB7_TRZ".Gestion.Aviso.Datos.Registrar = 0 THEN IF "DB7_TRZ".Gestion.Aviso.Datos.Registrar = 0 THEN
@@ -207,37 +223,48 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
"DB7_TRZ".Gestion.Aviso.Datos.Categoria := "TRZ_CAT_32_USER"; "DB7_TRZ".Gestion.Aviso.Datos.Categoria := "TRZ_CAT_32_USER";
END_IF; END_IF;
// Limpiamos las confirmaciones de texto generado por seguridad antes de esperar // Comprobamos si tenemos scadas declarados
FOR #for_i := 0 TO "N_MAX_SCADA" DO IF #t_IndiceSuperiorScada > 0 THEN
"DB7_TRZ".Gestion.Aviso.TextoGenerado[#for_i] := FALSE; // Limpiamos las confirmaciones de texto generado por seguridad antes de esperar
END_FOR; FOR #for_i := #t_IndiceInferiorScada TO #t_IndiceSuperiorScada DO
"DB7_TRZ".Gestion.Aviso.TextoGenerado[#for_i] := FALSE;
END_FOR;
END_IF;
"DB7_TRZ".Gestion.Etapa := #GENERAR_TEXTO; "DB7_TRZ".Gestion.Etapa := #GENERAR_TEXTO;
END_IF; END_IF;
END_IF; END_IF;
END_IF; END_IF;
END_REGION END_REGION COMPROBACION_INICIAL
// ============================================================================= // =============================================================================
// Etapa generar texto // Etapa generar texto
#GENERAR_TEXTO: #GENERAR_TEXTO:
REGION #GENERAR_TEXTO REGION GENERAR_TEXTO
// Lanzamos la orden de generar textos a sistemas scada que esten habilitados
FOR #for_i := 0 TO "N_MAX_SCADA" DO
"DB7_TRZ".Gestion.Aviso.GenerarTexto[#for_i] := "DB7_TRZ".Gestion.Aviso.HabilitarHmiScada[#for_i];
END_FOR;
// Activamos marca de texto generado OK desde Scada, antes de realizar las comprobaciones. // Activamos marca de texto generado OK desde Scada, antes de realizar las comprobaciones.
#t_TextoGenerado := TRUE; #t_TextoGenerado := TRUE;
// Comprobamos si los Scadas estan habilitados y tenemos confirmacion de que el texto se ha generado correctamente // Comprobamos si tenemos scadas declarados
FOR #for_i := 0 TO "N_MAX_SCADA" DO IF #t_IndiceSuperiorScada > 0 THEN
IF "DB7_TRZ".Gestion.Aviso.HabilitarHmiScada[#for_i] AND NOT "DB7_TRZ".Gestion.Aviso.TextoGenerado[#for_i] THEN
#t_TextoGenerado := FALSE; // Lanzamos la orden de generar textos a sistemas scada que esten habilitados
END_IF; FOR #for_i := #t_IndiceInferiorScada TO #t_IndiceSuperiorScada DO
END_FOR; "DB7_TRZ".Gestion.Aviso.GenerarTexto[#for_i] := "DB7_TRZ".Gestion.Aviso.HabilitarHmiScada[#for_i];
END_FOR;
// Comprobamos si los Scadas estan habilitados y tenemos confirmacion de que el texto se ha generado correctamente
FOR #for_i := #t_IndiceInferiorScada TO #t_IndiceSuperiorScada DO
IF "DB7_TRZ".Gestion.Aviso.HabilitarHmiScada[#for_i] AND NOT "DB7_TRZ".Gestion.Aviso.TextoGenerado[#for_i] THEN
#t_TextoGenerado := FALSE;
END_IF;
END_FOR;
ELSE
// En caso de que no haya Scadas declarados, esperamos el tiempo por defecto
#t_TextoGenerado := FALSE;
END_IF;
// Comprobacion de fin etapa // Comprobacion de fin etapa
@@ -247,10 +274,13 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
"DB7_TRZ".Gestion.TiempoActual := 0; "DB7_TRZ".Gestion.TiempoActual := 0;
"DB7_TRZ".Gestion.Etapa := #LANZAR_AVISO; "DB7_TRZ".Gestion.Etapa := #LANZAR_AVISO;
// Reseteamos las ordenes de generar texto // Comprobamos si tenemos scadas declarados
FOR #for_i := 0 TO "N_MAX_SCADA" DO IF #t_IndiceSuperiorScada > 0 THEN
"DB7_TRZ".Gestion.Aviso.GenerarTexto[#for_i] := FALSE; // Reseteamos las ordenes de generar texto
END_FOR; FOR #for_i := #t_IndiceInferiorScada TO #t_IndiceSuperiorScada DO
"DB7_TRZ".Gestion.Aviso.GenerarTexto[#for_i] := FALSE;
END_FOR;
END_IF;
ELSE ELSE
@@ -262,10 +292,13 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
"DB7_TRZ".Gestion.TiempoActual := 0; "DB7_TRZ".Gestion.TiempoActual := 0;
// Reseteamos las ordenes de generar texto // Comprobamos si tenemos scadas declarados
FOR #for_i := 0 TO "N_MAX_SCADA" DO IF #t_IndiceSuperiorScada > 0 THEN
"DB7_TRZ".Gestion.Aviso.GenerarTexto[#for_i] := FALSE; // Reseteamos las ordenes de generar texto
END_FOR; FOR #for_i := #t_IndiceInferiorScada TO #t_IndiceSuperiorScada DO
"DB7_TRZ".Gestion.Aviso.GenerarTexto[#for_i] := FALSE;
END_FOR;
END_IF;
"DB7_TRZ".Gestion.Etapa := #LANZAR_AVISO; "DB7_TRZ".Gestion.Etapa := #LANZAR_AVISO;
END_IF; END_IF;
@@ -274,23 +307,23 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
END_IF; END_IF;
END_REGION END_REGION GENERAR_TEXTO
// ============================================================================= // =============================================================================
// Etapa lanzar aviso // Etapa lanzar aviso
#LANZAR_AVISO: #LANZAR_AVISO:
REGION #LANZAR_AVISO REGION LANZAR_AVISO
// Activamos orden de lanzar el aviso // Activamos orden de lanzar el aviso
"DB7_TRZ".Gestion.Aviso.Aviso["DB7_TRZ".Gestion.Aviso.Datos.Categoria] := TRUE; "DB7_TRZ".Gestion.Aviso.Aviso["DB7_TRZ".Gestion.Aviso.Datos.Categoria] := TRUE;
"DB7_TRZ".Gestion.Etapa := #ESPERA; "DB7_TRZ".Gestion.Etapa := #ESPERA;
END_REGION END_REGION LANZAR_AVISO
// ============================================================================= // =============================================================================
// Etapa espera // Etapa espera
#ESPERA: #ESPERA:
REGION #ESPERA REGION ESPERA
// Esperamos un tiempo para que el aviso se haya registrado en todos los sistemas de supervision // Esperamos un tiempo para que el aviso se haya registrado en todos los sistemas de supervision
IF #Pulso1Seg THEN IF #Pulso1Seg THEN
@@ -301,28 +334,19 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
END_IF; END_IF;
END_IF; END_IF;
END_REGION END_REGION ESPERA
// ============================================================================= // =============================================================================
// Etapa borrar texto // Etapa borrar texto
#BORRAR_TEXTO: #BORRAR_TEXTO:
REGION #BORRAR_TEXTO REGION BORRAR_TEXTO
// Lanzamos orden de borrar texto a todos los Scadas // Lanzamos orden de borrar texto a todos los Scadas
"DB7_TRZ".Gestion.Aviso.BorrarTexto := TRUE; "DB7_TRZ".Gestion.Aviso.BorrarTexto := TRUE;
// Reseteamos los valores del aviso actual // Reseteamos los valores del aviso actual
"DB7_TRZ".Gestion.Aviso.Datos.Registrar := 0; "DB7_TRZ".Gestion.Aviso.Datos := #t_TrazaVacia;
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_1 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_2 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_3 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_4 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_5 := 0;
"DB7_TRZ".Gestion.Aviso.Datos.CodReal_1 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodReal_2 := 0.0;
"DB7_TRZ".Gestion.Aviso.Datos.User := '';
"DB7_TRZ".Gestion.Aviso.Datos.TimeStamp := DTL#1970-01-01-00:00:00;
// Saltamos de etapa tras un tiempo // Saltamos de etapa tras un tiempo
IF #Pulso1Seg THEN IF #Pulso1Seg THEN
@@ -333,13 +357,13 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
"DB7_TRZ".Gestion.Etapa := #QUITAR_AVISO; "DB7_TRZ".Gestion.Etapa := #QUITAR_AVISO;
END_IF; END_IF;
END_IF; END_IF;
END_REGION END_REGION BORRAR_TEXTO
// ============================================================================= // =============================================================================
// Etapa quitar aviso // Etapa quitar aviso
#QUITAR_AVISO: #QUITAR_AVISO:
REGION #QUITAR_AVISO REGION QUITAR_AVISO
// Desactivamos el aviso // Desactivamos el aviso
"DB7_TRZ".Gestion.Aviso.Aviso["DB7_TRZ".Gestion.Aviso.Datos.Categoria] := FALSE; "DB7_TRZ".Gestion.Aviso.Aviso["DB7_TRZ".Gestion.Aviso.Datos.Categoria] := FALSE;
@@ -353,30 +377,20 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
END_IF; END_IF;
END_IF; END_IF;
END_REGION END_REGION QUITAR_AVISO
// ============================================================================= // =============================================================================
// Etapa borrar datos // Etapa borrar datos
#BORRAR_DATOS: #BORRAR_DATOS:
REGION #BORRAR_DATOS REGION BORRAR_DATOS
// Reseteamos los valores del aviso actual // Reseteamos los valores del aviso actual
"DB7_TRZ".Gestion.Aviso.Datos.Registrar := 0; "DB7_TRZ".Gestion.Aviso.Datos := #t_TrazaVacia;
"DB7_TRZ".Gestion.Aviso.Datos.Categoria := 0;
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_1 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_2 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_3 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_4 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodInt_5 := 0;
"DB7_TRZ".Gestion.Aviso.Datos.CodReal_1 :=
"DB7_TRZ".Gestion.Aviso.Datos.CodReal_2 := 0.0;
"DB7_TRZ".Gestion.Aviso.Datos.User := '';
"DB7_TRZ".Gestion.Aviso.Datos.TimeStamp := DTL#1970-01-01-00:00:00;
"DB7_TRZ".Gestion.Etapa := #REPOSO; "DB7_TRZ".Gestion.Etapa := #REPOSO;
END_REGION END_REGION BORRAR_DATOS
END_CASE; END_CASE;
@@ -387,38 +401,14 @@ FUNCTION "FC7_ZC_TRZ_GESTOR" : Void
REGION ACTIVACION_ALARMAS REGION ACTIVACION_ALARMAS
// Activamos los avisos en WORD segun la categoria y su habilitacion // Activamos los avisos en WORD segun la categoria y su habilitacion
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X0 := "DB7_TRZ".Gestion.HabilitarCategoria[0] AND "DB7_TRZ".Gestion.Aviso.Aviso[0]; FOR #for_i := 0 TO 31 DO
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X1 := "DB7_TRZ".Gestion.HabilitarCategoria[1] AND "DB7_TRZ".Gestion.Aviso.Aviso[1]; #t_Avisos[#for_i] := "DB7_TRZ".Gestion.HabilitarCategoria[#for_i] AND "DB7_TRZ".Gestion.Aviso.Aviso[#for_i];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X2 := "DB7_TRZ".Gestion.HabilitarCategoria[2] AND "DB7_TRZ".Gestion.Aviso.Aviso[2]; END_FOR;
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X3 := "DB7_TRZ".Gestion.HabilitarCategoria[3] AND "DB7_TRZ".Gestion.Aviso.Aviso[3];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X4 := "DB7_TRZ".Gestion.HabilitarCategoria[4] AND "DB7_TRZ".Gestion.Aviso.Aviso[4]; // Taspaso a word
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X5 := "DB7_TRZ".Gestion.HabilitarCategoria[5] AND "DB7_TRZ".Gestion.Aviso.Aviso[5]; GATHER_BLK(IN:=#t_Avisos[0],
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X6 := "DB7_TRZ".Gestion.HabilitarCategoria[6] AND "DB7_TRZ".Gestion.Aviso.Aviso[6]; COUNT_OUT:=2,
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X7 := "DB7_TRZ".Gestion.HabilitarCategoria[7] AND "DB7_TRZ".Gestion.Aviso.Aviso[7]; OUT=>"DB7_TRZ".Gestion.Aviso.AvisoWord[0]);
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X8 := "DB7_TRZ".Gestion.HabilitarCategoria[8] AND "DB7_TRZ".Gestion.Aviso.Aviso[8];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X9 := "DB7_TRZ".Gestion.HabilitarCategoria[9] AND "DB7_TRZ".Gestion.Aviso.Aviso[9];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X10 := "DB7_TRZ".Gestion.HabilitarCategoria[10] AND "DB7_TRZ".Gestion.Aviso.Aviso[10];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X11 := "DB7_TRZ".Gestion.HabilitarCategoria[11] AND "DB7_TRZ".Gestion.Aviso.Aviso[11];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X12 := "DB7_TRZ".Gestion.HabilitarCategoria[12] AND "DB7_TRZ".Gestion.Aviso.Aviso[12];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X13 := "DB7_TRZ".Gestion.HabilitarCategoria[13] AND "DB7_TRZ".Gestion.Aviso.Aviso[13];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X14 := "DB7_TRZ".Gestion.HabilitarCategoria[14] AND "DB7_TRZ".Gestion.Aviso.Aviso[14];
"DB7_TRZ".Gestion.Aviso.AvisoWord[0].%X15 := "DB7_TRZ".Gestion.HabilitarCategoria[15] AND "DB7_TRZ".Gestion.Aviso.Aviso[15];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X0 := "DB7_TRZ".Gestion.HabilitarCategoria[16] AND "DB7_TRZ".Gestion.Aviso.Aviso[16];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X1 := "DB7_TRZ".Gestion.HabilitarCategoria[17] AND "DB7_TRZ".Gestion.Aviso.Aviso[17];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X2 := "DB7_TRZ".Gestion.HabilitarCategoria[18] AND "DB7_TRZ".Gestion.Aviso.Aviso[18];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X3 := "DB7_TRZ".Gestion.HabilitarCategoria[19] AND "DB7_TRZ".Gestion.Aviso.Aviso[19];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X4 := "DB7_TRZ".Gestion.HabilitarCategoria[20] AND "DB7_TRZ".Gestion.Aviso.Aviso[20];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X5 := "DB7_TRZ".Gestion.HabilitarCategoria[21] AND "DB7_TRZ".Gestion.Aviso.Aviso[21];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X6 := "DB7_TRZ".Gestion.HabilitarCategoria[22] AND "DB7_TRZ".Gestion.Aviso.Aviso[22];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X7 := "DB7_TRZ".Gestion.HabilitarCategoria[23] AND "DB7_TRZ".Gestion.Aviso.Aviso[23];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X8 := "DB7_TRZ".Gestion.HabilitarCategoria[24] AND "DB7_TRZ".Gestion.Aviso.Aviso[24];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X9 := "DB7_TRZ".Gestion.HabilitarCategoria[25] AND "DB7_TRZ".Gestion.Aviso.Aviso[25];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X10 := "DB7_TRZ".Gestion.HabilitarCategoria[26] AND "DB7_TRZ".Gestion.Aviso.Aviso[26];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X11 := "DB7_TRZ".Gestion.HabilitarCategoria[27] AND "DB7_TRZ".Gestion.Aviso.Aviso[27];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X12 := "DB7_TRZ".Gestion.HabilitarCategoria[28] AND "DB7_TRZ".Gestion.Aviso.Aviso[28];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X13 := "DB7_TRZ".Gestion.HabilitarCategoria[29] AND "DB7_TRZ".Gestion.Aviso.Aviso[29];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X14 := "DB7_TRZ".Gestion.HabilitarCategoria[30] AND "DB7_TRZ".Gestion.Aviso.Aviso[30];
"DB7_TRZ".Gestion.Aviso.AvisoWord[1].%X15 := "DB7_TRZ".Gestion.HabilitarCategoria[31] AND "DB7_TRZ".Gestion.Aviso.Aviso[31];
END_REGION ACTIVACION_ALARMAS END_REGION ACTIVACION_ALARMAS
@@ -13,6 +13,14 @@
es-ES: Indicador de registro encontrado es-ES: Indicador de registro encontrado
- id: MLC_4Rw - id: MLC_4Rw
es-ES: Indicador de texto generado en todos los Scadas es-ES: Indicador de texto generado en todos los Scadas
- id: MLC_4NM
es-ES: Indice superior de Buffer
- id: MLC_pi
es-ES: Indice inferior de Buffer
- id: MLC_3R4
es-ES: Indice superior de Scada
- id: MLC_4T7
es-ES: Indice inferior de Scada
- id: MLC_3jc - id: MLC_3jc
es-ES: ETAPA EN REPOSO es-ES: ETAPA EN REPOSO
- id: MLC_3rR - id: MLC_3rR
@@ -37,6 +37,9 @@ FUNCTION "FC8_ZC_TRZ_REGISTRO" : Void
VAR_TEMP VAR_TEMP
{ S7_MLC := "MLC_569" } { S7_MLC := "MLC_569" }
t_dummy : Int; t_dummy : Int;
t_IndiceInferior : Int;
t_IndiceSuperior : Int;
t_NuevaTraza : _.UDT_ZC_TRZ_DATOS;
END_VAR END_VAR
{ S7_Language := "SCL" } { S7_Language := "SCL" }
@@ -87,34 +90,58 @@ FUNCTION "FC8_ZC_TRZ_REGISTRO" : Void
END_REGION DESCRIPCION END_REGION DESCRIPCION
// ==========================================================================================================
REGION COMPROBACION_N_MAX
// Si no hay buffer habilitado salimos inmediatamente
IF "N_MAX_TRAZA_BUFFER" <= 0 OR NOT "DB7_TRZ".Gestion.HabilitacionGeneral THEN
RETURN;
END_IF;
// Traspaso de N_MAX a variable temporal para evitar fallos de compilacion
#t_IndiceInferior := 1;
#t_IndiceSuperior := "N_MAX_TRAZA_BUFFER";
END_REGION COMPROBACION_N_MAX
// ==========================================================================================================
REGION DESPLAZAMIENTO_DE_DATOS
// Desplazamiento de datos solo si el tamaño del buffer lo permite (N > 1)
IF #t_IndiceSuperior > 1 THEN
// Desplazamos los datos una posicion hacia abajo
#t_dummy := MOVE_BLK_VARIANT(SRC := "DB7_TRZ".Buffer, COUNT := INT_TO_UDINT(#t_IndiceSuperior - 1), SRC_INDEX := 1, DEST_INDEX := 2, DEST => "DB7_TRZ".Buffer);
END_IF;
END_REGION DESPLAZAMIENTO_DE_DATOS
// ========================================================================================================== // ==========================================================================================================
REGION GESTION_REGISTRO_TRAZA REGION GESTION_REGISTRO_TRAZA
// Si la trazabilidad esta habilitada
IF "DB7_TRZ".Gestion.HabilitacionGeneral THEN // Guardamos el nuevo registro en variable temporal
#t_NuevaTraza.Registrar := #Registrar;
// Desplazamos los datos una posicion hacia abajo #t_NuevaTraza.TimeStamp := #FechaHora;
#t_dummy := MOVE_BLK_VARIANT(SRC := "DB7_TRZ".Buffer, COUNT := INT_TO_UDINT(("N_MAX_TRAZA_BUFFER")), SRC_INDEX := 0, DEST_INDEX := 1, DEST => "DB7_TRZ".Buffer); #t_NuevaTraza.Categoria := #Categoria;
#t_NuevaTraza.CodInt_1 := #CodInt_1;
// Guardamos el nuevo registro en la primera posicion #t_NuevaTraza.CodInt_2 := #CodInt_2;
"DB7_TRZ".Buffer[0].Registrar := #Registrar; #t_NuevaTraza.CodInt_3 := #CodInt_3;
"DB7_TRZ".Buffer[0].TimeStamp := #FechaHora; #t_NuevaTraza.CodInt_4 := #CodInt_4;
"DB7_TRZ".Buffer[0].Categoria := #Categoria; #t_NuevaTraza.CodInt_5 := #CodInt_5;
"DB7_TRZ".Buffer[0].CodInt_1 := #CodInt_1; #t_NuevaTraza.CodReal_1 := #CodReal_1;
"DB7_TRZ".Buffer[0].CodInt_2 := #CodInt_2; #t_NuevaTraza.CodReal_2 := #CodReal_2;
"DB7_TRZ".Buffer[0].CodInt_3 := #CodInt_3;
"DB7_TRZ".Buffer[0].CodInt_4 := #CodInt_4; IF #User = '' THEN
"DB7_TRZ".Buffer[0].CodInt_5 := #CodInt_5; #t_NuevaTraza.User := ' --- ';
"DB7_TRZ".Buffer[0].CodReal_1 := #CodReal_1; ELSE
"DB7_TRZ".Buffer[0].CodReal_2 := #CodReal_2; #t_NuevaTraza.User := #User;
IF #User = '' THEN
"DB7_TRZ".Buffer[0].User := ' ';
ELSE
"DB7_TRZ".Buffer[0].User := #User;
END_IF;
END_IF; END_IF;
// Traspaso de datos al DB
"DB7_TRZ".Buffer[#t_IndiceInferior] := #t_NuevaTraza;
END_REGION GESTION_REGISTRO_TRAZA END_REGION GESTION_REGISTRO_TRAZA
@@ -5,7 +5,7 @@
} }
UDT_ZC_DISP_TOT : STRUCT UDT_ZC_DISP_TOT : STRUCT
{ S7_MLC := "MLC_4La" } { S7_MLC := "MLC_4La" }
Hmi_Estado : UInt; Hmi_Estado : Int;
{ S7_MLC := "MLC_4dr" } { S7_MLC := "MLC_4dr" }
Estado_Pulso : Bool := FALSE; Estado_Pulso : Bool := FALSE;
{ S7_MLC := "MLC_4iV" } { S7_MLC := "MLC_4iV" }
@@ -13,7 +13,9 @@
{ S7_MLC := "MLC_q8" } { S7_MLC := "MLC_q8" }
Etapa : Int := 0; Etapa : Int := 0;
{ S7_MLC := "MLC_3Wx" } { S7_MLC := "MLC_3Wx" }
SP_Tiempo : Int := 0; SP_TiempoOrden : Int := 2;
{ S7_MLC := "MLC_uM" }
SP_TiempoEspera : Int := 10;
{ S7_MLC := "MLC_4nF" } { S7_MLC := "MLC_4nF" }
TiempoActual : Int := 3; TiempoActual : Int := 3;
{ S7_MLC := "MLC_gR" } { S7_MLC := "MLC_gR" }
@@ -12,7 +12,9 @@
- id: MLC_q8 - id: MLC_q8
es-ES: Etapa actual es-ES: Etapa actual
- id: MLC_3Wx - id: MLC_3Wx
es-ES: SP Tiempo retardo es-ES: SP Tiempo retardo orden registrar
- id: MLC_uM
es-ES: SP Tiempo retardo espera confirmacion
- id: MLC_4nF - id: MLC_4nF
es-ES: Tiempo retardo actual es-ES: Tiempo retardo actual
- id: MLC_gR - id: MLC_gR
@@ -29,7 +29,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_EA</Name> <Name>N_MAX_DISP_EA</Name>
<Value>5</Value> <Value>30</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="5" CompositionName="Comment"> <MultilingualText ID="5" CompositionName="Comment">
@@ -48,7 +48,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_ED</Name> <Name>N_MAX_DISP_ED</Name>
<Value>5</Value> <Value>24</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="8" CompositionName="Comment"> <MultilingualText ID="8" CompositionName="Comment">
@@ -67,7 +67,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_FF</Name> <Name>N_MAX_DISP_FF</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="B" CompositionName="Comment"> <MultilingualText ID="B" CompositionName="Comment">
@@ -86,7 +86,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_FF_SEC</Name> <Name>N_MAX_DISP_FF_SEC</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="E" CompositionName="Comment"> <MultilingualText ID="E" CompositionName="Comment">
@@ -105,7 +105,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_M</Name> <Name>N_MAX_DISP_M</Name>
<Value>5</Value> <Value>12</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="11" CompositionName="Comment"> <MultilingualText ID="11" CompositionName="Comment">
@@ -124,7 +124,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_M_SINA</Name> <Name>N_MAX_DISP_M_SINA</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="14" CompositionName="Comment"> <MultilingualText ID="14" CompositionName="Comment">
@@ -143,7 +143,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_M_VF</Name> <Name>N_MAX_DISP_M_VF</Name>
<Value>5</Value> <Value>10</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="17" CompositionName="Comment"> <MultilingualText ID="17" CompositionName="Comment">
@@ -162,7 +162,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_MEDIA</Name> <Name>N_MAX_DISP_MEDIA</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="1A" CompositionName="Comment"> <MultilingualText ID="1A" CompositionName="Comment">
@@ -181,7 +181,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_MEDIA_VOLUMEN</Name> <Name>N_MAX_DISP_MEDIA_VOLUMEN</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="1D" CompositionName="Comment"> <MultilingualText ID="1D" CompositionName="Comment">
@@ -200,7 +200,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_PID</Name> <Name>N_MAX_DISP_PID</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="20" CompositionName="Comment"> <MultilingualText ID="20" CompositionName="Comment">
@@ -219,7 +219,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_SA</Name> <Name>N_MAX_DISP_SA</Name>
<Value>5</Value> <Value>10</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="23" CompositionName="Comment"> <MultilingualText ID="23" CompositionName="Comment">
@@ -238,7 +238,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_SD</Name> <Name>N_MAX_DISP_SD</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="26" CompositionName="Comment"> <MultilingualText ID="26" CompositionName="Comment">
@@ -257,7 +257,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_TOT</Name> <Name>N_MAX_DISP_TOT</Name>
<Value>5</Value> <Value>10</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="29" CompositionName="Comment"> <MultilingualText ID="29" CompositionName="Comment">
@@ -276,7 +276,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_TQ</Name> <Name>N_MAX_DISP_TQ</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="2C" CompositionName="Comment"> <MultilingualText ID="2C" CompositionName="Comment">
@@ -295,7 +295,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_TQ_AE</Name> <Name>N_MAX_DISP_TQ_AE</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="2F" CompositionName="Comment"> <MultilingualText ID="2F" CompositionName="Comment">
@@ -314,7 +314,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_V</Name> <Name>N_MAX_DISP_V</Name>
<Value>5</Value> <Value>40</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="32" CompositionName="Comment"> <MultilingualText ID="32" CompositionName="Comment">
@@ -333,7 +333,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_VD</Name> <Name>N_MAX_DISP_VD</Name>
<Value>5</Value> <Value>0</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="35" CompositionName="Comment"> <MultilingualText ID="35" CompositionName="Comment">
@@ -352,7 +352,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_TOF</Name> <Name>N_MAX_DISP_TOF</Name>
<Value>5</Value> <Value>10</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="38" CompositionName="Comment"> <MultilingualText ID="38" CompositionName="Comment">
@@ -371,7 +371,7 @@
<AttributeList> <AttributeList>
<DataTypeName>Int</DataTypeName> <DataTypeName>Int</DataTypeName>
<Name>N_MAX_DISP_TON</Name> <Name>N_MAX_DISP_TON</Name>
<Value>5</Value> <Value>10</Value>
</AttributeList> </AttributeList>
<ObjectList> <ObjectList>
<MultilingualText ID="3B" CompositionName="Comment"> <MultilingualText ID="3B" CompositionName="Comment">